最近在研究createElement 加载的玩法。然后发现一个比较难理解的事情。
页面 第一步通过createElement 加载一个JQ库。然后下面要是又一段代码 $(function(){}) ; 则会提示 $没定义。
这时候,可以通过一些手段来处理。
function asdsad(){
if(!window.jQuery){
var script = document.createElement('script');
script.src = 'jquery-1.8.3.min.js';
script.type = 'text/javascript';
script.async = true;
document.getElementsByTagName('head')[0].appendChild(script); <span></span> setTimeout(asdsad(),3000)
}else{
alert("dd")
$(function(){
alert("d")
})
//console.dir(window.$)
}
}
asdsad()
为什么一定要用setTime out ?
目前我想到的是,由于代码片段早于浏览器加载完成,因此通过createElement 加载的,将会是 没定义。蛋疼中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。