• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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='/scratch';
    			}
    			let blobs = request.response
    			reader.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 (
                Box
                    className={classNames(
                        this.props.className,
                        styles.menuBar,
                        {[styles.saveInProgress]: this.props.isUpdating}
                    )}
                >
    				SBFileUploader onUpdateProjectTitle={PropTypes.func} /** 初始化加载文件到项目 **/>
    					{(className, renderFileInput, loadProject) => (
    						button onClick={loadProject} className={classNames(styles.scratchHide)}>/button>
    					)}
    				/SBFileUploader>
                /Box>
            );
        }
    }
    
    export default injectIntl(connect(
        mapStateToProps,
        mapDispatchToProps
    )(MenuBar));

    到此这篇关于Scratch3.0 页面初始化同时加载sb3文件的操作代码的文章就介绍到这了,更多相关Scratch页面初始化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 详解scratch3.0二次开发之scratch-blocks中的blocks的类型、定义和使用方法
    • scratch3.0二次开发之用blocks生成python代码
    • Scratch3.0二次开发之windows环境下打包成exe的流程
    • 解析scratch3.0二次开发之scratch-blocks免编译修改问题
    上一篇:VSCode使用ssh密钥免密远程登录服务器的方法
    下一篇:Scratch3.0二次开发之windows环境下打包成exe的流程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Scratch3.0 页面初始化同时加载sb3文件的操作代码 Scratch3.0,页面,初始化,同时,