【问题标题】:How to load a js file with javascript如何使用 javascript 加载 js 文件
【发布时间】:2009-05-15 10:58:21
【问题描述】:

我想解决昨天在客户演示期间出现的一个令人讨厌的问题。我们正在使用 jquery,从 google api 加载它。但是昨天,我们的ISP开始出现问题,没有正确加载jq.js。

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

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

提前致谢

【问题讨论】:

    标签: asp.net javascript jquery


    【解决方案1】:

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

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

    【讨论】:

    • 但正如 sadesh247 所指出的,如果有其他脚本依赖于它,它们将无法按预期工作。我会将此标记为答案,同时寻找如何以我需要的方式修复它。谢谢!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      编辑: 我有点紧张。 peirix给出的解决方案是正确的。我将只使用他的代码,以免错误的解决方案污染该区域。你可以这样做

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

      动态加载javascript。

      但是,如果您的页面中有依赖于该脚本的脚本,那么即使这样也容易出现竞争条件。小心使用。

      本演示文稿 - Even Faster Websites - 详细阐述了通过 javascript 加载外部文件的更多技术。

      【讨论】:

        【解决方案4】:

        这不是直接回答您的问题,但是 JQuery 的创建者 John Resig 有一个有趣的blog post,关于在还有 src 属性时执行脚本标记内容。

        【讨论】:

          猜你喜欢
          • 2010-10-09
          • 1970-01-01
          • 1970-01-01
          • 2019-01-23
          • 2017-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多