我正在动态创建一个 iframe 并向其中注入和外部脚本。
function addScript(id, url, true) {
var script = window.document.createElement('script'),
deferredLoaded = $q.defer();
script.async = true;
script.id = id;
script.src = url;
script.type='text/javascript';
script.onload = script.onerror = function() {
URL.revokeObjectURL(url);
deferredLoaded.resolve(true);};
window.document.body.appendChild(script);
return deferredLoaded.promise;
}
以上是动态注入和下载脚本的功能。
我面临的问题是,我创建的脚本文件正在 chrome 的主线程上进行编译和评估,因此我的页面在这段时间内没有响应。
但是在mozilla和safari上我没有遇到这个问题页面很流畅
https://blog.chromium.org/2014/02/compiling-in-background-for-smoother.html
它告诉我们可以在后台脚本流线程上编译,但我无法实现。谢谢。