某些安卓微信下没有加载进度的解决办法

在终端执行gulp packToOne打包成swf后,在某些安卓微信下,由于获取不到swf总大小,所以无法实时更新加载进度(%)


首先感谢可神提供的解决方案。

问题描述:

在终端执行gulp packToOne打包成swf后,在某些安卓微信下,由于获取不到swf总大小,所以无法实时更新加载进度(%)


解决办法(2步走):

1、替换annieCore.min.js引擎,网盘下载地址:地址

2、index.html加入代码

    <script>
        window.swfBytes={ swf文件名: swf文件大小(单位Byte)};
        // window.swfBytes={ load: 12021, pageHome: 10203, public: 1202003};
    </script>

swf文件大小需要手动去计算,如果觉得麻烦可以修改gulpfile.js自动获取下swf文件大小,见下文


修改gulpfile.js实现自动获取swf文件大小,修改index.html和gulpfile.js关键位置

//index.html 需要修改成这样占位,gulp最后会替换

window.swfBytes={};

//gulefile.js

gulp.task("packToOne",function () {
// 位置1 新增
    var fileSizeArr = {};
    
    // 位置2 修改 writeFile改成同步写入writeFileSync,新增2行
    //正则替换里面所有的
    var file = "./released/src/" + sceneList[i] + "/" + sceneList[i] + ".swf";
    fs.writeFileSync(file, content, "utf8", function (err) {});
//读取文件大小
    var states = fs.statSync(file);
    fileSizeArr[sceneList[i]] = states.size;
    // 位置3 
    //替换index.html文件里字符
    gulp.src('./released/index.html').pipe(replace("window.swfBytes={};", `window.swfBytes=${JSON.stringify(fileSizeArr)};`)).pipe(gulp.dest("released"));
});

至此结束,有问题可回复~

你可能感兴趣的文章

相关问题

1 条评论

请先 登录 后评论
不写代码的码农
烈鸟

前端开发/越野跑爱好者/弹吉他

1 篇文章

作家榜 »

  1. 王倩 20 文章
  2. 苍老师 16 文章
  3. 大北兔 15 文章
  4. facaimao 14 文章
  5. 皮卡丘先生 13 文章
  6. 季梦导师 10 文章
  7. 许导解忧 10 文章
  8. 王迎保 10 文章