[英]appending script element to the head with javascript doesn't work in chrome
在我的主页上,我想检查一下它是否尚未加载,包括一个edit_profile.js脚本。
$(function(){
if (typeof is_editprofilejs_loaded == "undefined") {
alert('undefined');
var e = document.createElement("script");
e.src = base_url+"js/edit_profile.js";
e.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(e);
}
else
{
alert('its loaded.');
}
})
在我的script.js
中
$(function(){
var is_editprofilejs_loaded = true ;
alert('now its loaded ! ');
//some code
})
因此,当我在Firefox中运行代码时,会收到这些消息
1 - undefined
2 - now its loaded !
但是在chrome中我只是得到
1 - undefined
当然,包含页面中的代码不起作用,这是什么问题?
为什么在DOMready函数中具有这些函数?
这也是失败的原因:您的变量is_editprofilejs_loaded
是该匿名函数的本地变量,并且永远不会在该函数的主文件中进行定义。
window.is_editprofilejs_loaded = true
使变量显式全局化,然后通过if (window.is_editprofilejs_loaded)
检查它 顺便说一句,您的script.js
缺少a );
最后-不确定是否只有C&P错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.