Scratch3.0|Scratch3.0 页面初始化同时加载sb3文件的操作代码
scratch是一种非常合适的培养自己的编程兴趣的方式。通过拖拽的方式,可以实现一些游戏,小程序的开发,就像搭积木一样,下面给大家介绍Scratch3.0 页面初始化同时加载sb3文件的操作方法,一起看看吧!
目标文件地址:src\containers\sb-file-uploader.jsx
修改 sb-file-uploader.jsx文件, class SBFileUploader中添加componentDidMount(),代码如下
componentDidMount() { var _this = this; // 作品所在存放地址 var sb3Path = null; /*** 必须使用 $(window).on("load",function(){}); * 否则页面在未加载完的情况下,有些组件会来不及加载,影响二次文件保存*/ console.log("尚未初始加载Sb3文件"); $(window).on("load",function(){console.log("即将初始加载Sb3文件"); let reader = new FileReader(); let request = new XMLHttpRequest(); console.log("加载的资源路径", sb3Path); request.open('GET', sb3Path, true); request.responseType = "blob"; request.onload = function() {if(request.status==404){alert("未找到sb3类型的资源文件"); location.href='https://www.it610.com/scratch'; }let blobs = request.responsereader.readAsArrayBuffer(blobs); reader.onload = () => _this.props.vm.loadProject(reader.result).then(() => {analytics.event({category: 'project',action: 'Import Project File',nonInteraction: true}); _this.props.onLoadingFinished(_this.props.loadingState); }).catch(error => {log.warn(error); }); }request.send(); }); }
目标文件地址:src\components\menu-bar\menu-bar.jsx
修改 menu-bar.jsx文件, class MenuBar 中初始SBFileUploader,代码如下
// 必须加载这个文件import SBFileUploader from '../../containers/sb-file-uploader.jsx'; class MenuBar extends React.Component {render () {return ({(className, renderFileInput, loadProject) => ()}); }}export default injectIntl(connect(mapStateToProps,mapDispatchToProps)(MenuBar));
【Scratch3.0|Scratch3.0 页面初始化同时加载sb3文件的操作代码】到此这篇关于Scratch3.0 页面初始化同时加载sb3文件的操作代码的文章就介绍到这了,更多相关Scratch页面初始化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 分享!如何分分钟实现微信扫二维码调用外部浏览器打开指定页面的功能
- 代码不规范容易造成的bug
- iOS|iOS runtime应用整理
- 8、Flask构建弹幕微电影网站-搭建后台页面-密码修改、主页控制面板
- 小程序开发|小程序开发 - 页面传值url类型
- 关于ajax异步分页传输数据到页面为字符串的JS解决办法
- 第六课|第六课 js管理页面元素位置大小
- 关于usb流量分析
- 前端页面表格控件handsontable在vue项目中的应用