gpt4 book ai didi

javascript - 如何在黑莓浏览器上动态添加脚本元素?

转载 作者:行者123 更新时间:2023-11-29 10:53:44 25 4
gpt4 key购买 nike

我使用的是 blackberry9300 (5.0.0.832)。我正在尝试以编程方式添加一个 javascript 元素。

var script=document.createElement('script');
script.src='file.js';
script.type='text/javascript';
script.onload=function(){alert('loaded');}; //Nothing happens
script.addEventListener('load', function(){alert('loaded');}, false); //Nothing happens
script.addEventListener('readystatechange', function(){alert('state changed');}, false); //Nothing happens
script.onreadystatechange=function(){alert('state changed')}; //Nothing happens
document.getElementsByTagName('head').item(0).appendChild(script);
有什么办法可以解决这个问题?

最佳答案

旧操作系统 (< 6.0) 上的黑莓浏览器不会触发 onload 事件或不会更改脚本的 readyState。所以我需要轮询 js 文件是否加载成功。如果有人感兴趣,这里是该函数。

function loadScript(path,callback,chkvar){
var a=document.createElement('script');
a.src=path;
a.type='text/javascript';
a.onreadystatechange=function(){
if(this.readyState=='complete'||this.readyState=='loaded')
callback();
};
a.onload=callback;
if(a.hasOwnProperty('onload')==false)
var e=setInterval(function(){
if(eval(chkvar)){ //chkvar will only be available after js file is loaded.
clearInterval(e);
callback();
}
},50);
}
document.getElementsByTagName('head').item(0).appendChild(a);
}

关于javascript - 如何在黑莓浏览器上动态添加脚本元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4783452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com