如何使用javascript加载js文件

How to load a js file with javascript

提问人:MaLKaV_eS 提问时间:5/15/2009 最后编辑:MaLKaV_eS 更新时间:6/23/2009 访问量:367

问:

我想克服昨天在向客户演示时出现的一个令人讨厌的问题。我们正在使用 jquery,从 google api 加载它。但是昨天,我们的ISP开始引起一些问题,并且没有正确加载jq.js。

所以,我真正想要的是从服务器加载一个本地文件,如果谷歌 api 具有扩展行为(并不是说它会经常发生,但至少做本地演示我们不会再次受到伤害)。

我知道当 src 中的文件未加载时会执行 somejs,但不知道有任何方法可以将文件加载到那里。<script type="txt/javascript" src="googleapi"> somejs </script>

提前致谢

asp.net javascript jquery

评论


答:

0赞 sandesh247 5/15/2009 #1

编辑: 我有点跳跃。peirix 给出的解决方案是正确的。我只会使用他的代码,以免让错误的解决方案污染这个区域。你可以做

var localScript = document.createElement("script");
localScript.type = "text/javascript";
localScript.src = "localJQ.js";
document.body.appendChild(localScript);

动态加载 Javascript。

但是,如果页面中有依赖于此脚本的脚本,则即使这样也容易出现争用条件。请小心使用。

这个演示文稿 - 甚至更快的网站 - 详细阐述了通过 javascript 加载外部文件的更多技术。

1赞 peirix 5/15/2009 #2

在里面你可以放以下几行:

var localScript = document.createElement("script");
localScript.type = "text/javascript";
localScript.src = "localJQ.js";
document.body.appendChild(localScript);

评论

0赞 MaLKaV_eS 5/18/2009
但正如 sadesh247 所指出的那样,如果有其他脚本依赖于它,它们将无法按预期工作。我会将其标记为答案,同时寻找如何以我需要的方式修复它。谢谢!
0赞 marcus.greasly 5/15/2009 #3

教奶奶吮吸鸡蛋,但为什么不总是在演示机上使用本地副本呢?

0赞 Stephen Denne 5/15/2009 #4

这并不能直接回答您的问题,但 JQuery 的创建者 John Resig 有一篇有趣的博客文章,介绍了在也有 src 属性时执行脚本标签内容。