Egret社区

[Bug处理中] 微端动态加载script报的错误,导致程序卡住

2018-4-26 14:28
15694
产品 Egret Android Support 版本 0.15
复现概率 30% 平台 Android 0.14,0.15
复现步骤 首次安装微端或很久不使用然后打开,华为三星特别容易出现
问题描述 首次安装微端或很久不使用然后打开,偶尔会报如下错误:
Failed to execute \\\\\\\\\\\\\\\'write\\\\\\\\\\\\\\\' on \\\\\\\\\\\\\\\'Document\\\\\\\\\\\\\\\': It isn\\\\\\\\\\\\\\\'t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
错误代码 "Failed to execute \'write\' on \'Document\': It isn\'t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.", source: http://www.gdczhy.com/ftpuserfortest/h5app/czqp_app.html?v=180425220601 (0)
[INFO:CONSOLE(0)] "Failed to execute \'write\' on \'Document\': It isn\'t possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened."
BUG截图
本帖最后由 joomecow 于 2018-4-26 15:04 编辑


bug.jpg
分享到 :
0 人收藏

4 个回复

倒序浏览
app小王子  社区管理员 | 2018-4-27 10:09:40
感谢反馈,请上传 demo。
joomecow  登堂入室 | 2018-4-28 10:34:19
app小王子 发表于 2018-4-27 10:09
感谢反馈,请上传 demo。

[mw_shl_code=javascript,true]我在index.html做了下面的修改,情况好像好点了,没那么容易出现卡住

var s = document.createElement('script');
        s.async = true; //修改这里为true
        s.src = src;
        s.addEventListener('load', function () {
            s.parentNode.removeChild(s);
            s.removeEventListener('load', arguments.callee, false);
            callback();
        }, false);
        document.body.appendChild(s);


//捕获runEgret异常
try {
                egret.runEgret({ renderMode: "webgl", audioType: 0, calculateCanvasScaleFactor:function(context) {
                        var backingStore = context.backingStorePixelRatio ||
                            context.webkitBackingStorePixelRatio ||
                            context.mozBackingStorePixelRatio ||
                            context.msBackingStorePixelRatio ||
                            context.oBackingStorePixelRatio ||
                            context.backingStorePixelRatio || 1;
                        return (window.devicePixelRatio || 1) / backingStore;
                    }});
            }
            catch(err){
                console.log(err.message);
                window.location.reload(true);
            }[/mw_shl_code]

burdenboys  登堂入室 | 2018-5-22 09:58:27
@joomecow   问下  你的这个问题解决了么?
joomecow  登堂入室 | 2018-5-22 17:24:05
burdenboys 发表于 2018-5-22 09:58
@joomecow   问下  你的这个问题解决了么?

可以说是缓解了,你可以试试,正确的解决方法等官方回应
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部