【问题标题】:External file script is not loading外部文件脚本未加载
【发布时间】:2015-06-23 18:30:53
【问题描述】:

我正在使用 load() 来加载外部 html 文件。

$("#header_section").load("header.html");
$("#sidemenu_section").load("side_menu.html"); 

此处,HTML 文件已加载,css 也已加载,但页面中未加载脚本文件

<script src="js/utility.js"></script>

我试图在头部和主体内声明上述脚本文件。两者都不起作用。

【问题讨论】:

  • 你确定 js/utility.js 存在吗?您是否看到任何指示 404 或类似错误的控制台日志?
  • 没有错误,文件也存在。但是这些文件是在 html 页面中加载的
  • js 文件的链接在 header.html 中?
  • 此文件仅用于特定页面。不适用于所有页面。那是我在另一个html文件中给出的,而不是在header.html中
  • 你能不能调试一下.js是否正在加载。

标签: javascript jquery html


【解决方案1】:

检查您的实用程序.js 文件的相对路径,并确保在加载实用程序.js 文件之前加载 juery.js 库。

最后试试这个,

<script type="text/javascript" src="${pageContext.request.contextPath}/js/utility.js"></script>

加载 utility.js 文件。

【讨论】:

  • 在相对于绝对路径分辨率方面做得很好!
【解决方案2】:

我认为您忘记添加 jquery.min.js 文件。使用下面的代码。

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/utility.js"></script>
</head>

【讨论】:

  • 我已经添加了 jquery。没有 jquery,我们不能使用 load()。问题是 load() 正在工作,外部脚本不包括
  • 我认为您使用的是安全服务器(https)。那么外部文件将不会加载,那么您需要在您的服务器上下载外部文件。
【解决方案3】:

jQuery 只能在 type 属性设置为“text/javascript”的情况下执行您的代码,根据这个很久以前提交的错误:

http://bugs.jquery.com/ticket/3733

【讨论】:

    【解决方案4】:

    试试这个...

    <script type="text/javascript" src="http://your.cdn.com/first.js"></script>
    <script type="text/javascript">
    loadScript("http://your.cdn.com/second.js", function(){
        //initialization code
    });
    </script>
    

    【讨论】:

      【解决方案5】:

      将 HTML 添加到 DOM 的 jQuery 代码总是去掉 &lt;script&gt; 标记。它运行它们,然后将它们扔掉。

      该行为的一个例外是当您使用“$.load()”和允许您加载页面片段的 hack 时:

      $.load("http://something.com/whatever #stuff_I_want", function() { ... });
      

      在这种情况下,脚本会被剥离并且不会被评估/运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-12
        • 1970-01-01
        • 2019-10-14
        • 2013-10-13
        • 1970-01-01
        • 2013-05-30
        • 2020-05-08
        • 1970-01-01
        相关资源
        最近更新 更多