使用JavaScript动态加载JavaScript
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用JavaScript动态加载JavaScript,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1613字,纯文字阅读大概需要3分钟。
内容图文
经过一个多小时试图让它工作,我认为这是因为跨域政策,但我真的认为这会奏效.我也找不到很多关于它的信息.但是,这是我的问题.我有一个名为http://mysite.com的网站,然后我包含了第三方脚本(我正在写什么)及其在http://supercoolsite.com/api/script.js,这个脚本需要在运行之前动态加载google maps api:http://maps.google.com/maps/api/js?sensor=false.好吧,我认为这段代码可行:
function loadScript(filename,callback){
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
fileref.onload = callback();
if (typeof fileref!="undefined"){
document.getElementsByTagName("head")[0].appendChild(fileref)
}
}
loadScript('http://maps.google.com/maps/api/js?sensor=false',function(){
console.log('done loading');
init();
});
但我在我的控制台中的回答是:
api.js:408 done loading
api.js:115 test
api.js:310 Uncaught ReferenceError: google is not defined
“test”位于init()的顶部.所以,它正在加载脚本,但它似乎没有执行它.那么,有什么想法吗?如果它是一个跨站点脚本问题我唯一的解决这个方法我能想到的是对我们的结束一个PHP脚本,基本上只是将头到文本/ JavaScript的标题,然后回声的file_get_contents()成googlemaps.php文件我们主持.在我们发言时即将尝试这一点,但是,如果可能的话,用纯JS来做这件事的方法会非常棒.
附:我也尝试添加jQuery,然后执行getScript(),它仍然没有工作
– 更新 –
看到这个小提琴:
http://jsfiddle.net/ycMCa/2/
您将看到在控制台中出现错误:
未捕获的TypeError:undefined不是函数
尽管谷歌变量是全球性的.
解决方法:
你只是有一个小错误:
fileref.onload = callback();
这将立即调用回调并将其返回值分配给fileref.onload.
它应该是
fileref.onload = callback;
您还应该在设置源之前添加处理程序(以防万一).
内容总结
以上是互联网集市为您收集整理的使用JavaScript动态加载JavaScript全部内容,希望文章能够帮你解决使用JavaScript动态加载JavaScript所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。