在苹果safari 和 安卓手机chrome 上试了都一样,https网页上动态加载的js不执行,请问何解?本地JS:
http://192.168.0.100/test.js
//动态加载
// 代码写入到iphone手机的书签中,在目标页面时打开书签,即可在目标页面执行代码
// 动态加载可以突破书签的代码长度限制
javascript: (function () {
LoadJs("myscript","http://192.168.0.100/js/test.js",callbackFunction);
})();
function LoadJs(sid,jsurl,callback){
//alert("LoadJs"); var nodeScript = null;
if(document.getElementById(sid) == null){//无则创建
alert("创建:" + sid);//
nodeScript = document.createElement('script');
nodeScript.setAttribute('type', 'text/javascript');
nodeScript.setAttribute('src', jsurl);
nodeScript.setAttribute('id',sid);
if (callback != null) {//设置回调函数
alert("callback != null");
nodeScript.onload = nodeScript.onreadystatechange = function(){
alert("nodeScript.ready="+nodeScript.ready);//
if (nodeScript.ready) {
callback();
return false;
}else if (!nodeScript.readyState || nodeScript.readyState == "loaded" || nodeScript.readyState == 'complete') {
nodeScript.ready = true;
alert("2nodeScript.ready="+nodeScript.ready);//
callback();
return true;
}
};
}else{
alert("callback == null");
}
document.body.appendChild(nodeScript);
} else {//有
alert("已有:" + sid);//
if(callback != null){
callback();
}
}
}
function callbackFunction()
{
//alert("callbackFunction");
acceptTask("04");
}
http://192.168.0.100/test.js
//动态加载
// 代码写入到iphone手机的书签中,在目标页面时打开书签,即可在目标页面执行代码
// 动态加载可以突破书签的代码长度限制
javascript: (function () {
LoadJs("myscript","http://192.168.0.100/js/test.js",callbackFunction);
})();
function LoadJs(sid,jsurl,callback){
//alert("LoadJs"); var nodeScript = null;
if(document.getElementById(sid) == null){//无则创建
alert("创建:" + sid);//
nodeScript = document.createElement('script');
nodeScript.setAttribute('type', 'text/javascript');
nodeScript.setAttribute('src', jsurl);
nodeScript.setAttribute('id',sid);
if (callback != null) {//设置回调函数
alert("callback != null");
nodeScript.onload = nodeScript.onreadystatechange = function(){
alert("nodeScript.ready="+nodeScript.ready);//
if (nodeScript.ready) {
callback();
return false;
}else if (!nodeScript.readyState || nodeScript.readyState == "loaded" || nodeScript.readyState == 'complete') {
nodeScript.ready = true;
alert("2nodeScript.ready="+nodeScript.ready);//
callback();
return true;
}
};
}else{
alert("callback == null");
}
document.body.appendChild(nodeScript);
} else {//有
alert("已有:" + sid);//
if(callback != null){
callback();
}
}
}
function callbackFunction()
{
//alert("callbackFunction");
acceptTask("04");
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货