我想解决昨天在向客户演示时出现的令人讨厌的问题。我们正在使用jquery,从谷歌api加载它。但昨天,我们的ISP开始出现一些问题,并没有正确加载jq.js。
所以,我真正想要的是,如果google api有一个额外的行为,那么从服务器加载一个本地文件(不是经常发生,但至少做本地演示我们不会再受到伤害)。< / p>
我知道当{s}中的文件没有加载时<script type="txt/javascript" src="googleapi"> somejs </script>
执行somejs,但是不知道如何在那里加载文件。
提前致谢
答案 0 :(得分:1)
你可以在里面添加以下几行:
var localScript = document.createElement("script");
localScript.type = "text/javascript";
localScript.src = "localJQ.js";
document.body.appendChild(localScript);
答案 1 :(得分:0)
编辑: 我有点跳跃。 peirix给出的解决方案是正确的。我只是使用他的代码,不要让错误的解决方案污染这个领域。你可以做到
var localScript = document.createElement("script");
localScript.type = "text/javascript";
localScript.src = "localJQ.js";
document.body.appendChild(localScript);
动态加载javascript。
但是,如果页面中的脚本依赖于此脚本,则即使这种情况也容易出现竞争情况。小心使用。
此演示文稿 - Even Faster Websites - 详细阐述了通过javascript加载外部文件的更多技巧。
答案 2 :(得分:0)
教老太可能吸蛋,但为什么不在演示机器上使用本地副本呢?
答案 3 :(得分:0)
这不是直接回答你的问题,但是当有src属性时,JQuery的创建者John Resig有一个关于执行脚本标记内容的有趣blog post。