0

您好我遇到了一些问题,包括我的 html 项目中的 javascript 文件。当我在正文标记之前像这样包含它时,我的网站无法正常工作。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    </body>

但是,如果我删除最后的标签使其看起来像这样

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"/>
</body>

一切正常。

如果我将它包含在头部,它也可以工作,与语法无关。为什么它会这样?

4

4 回答 4

1

为了浏览器兼容性,您必须使用第一种形式:

<script src="https://..."></script>

带有明确的结束标签</script>。如果这是您的代码无法正常工作的情况,那么您真正的问题在于其他地方,而不是您关闭标签的方式。

于 2012-10-28T21:22:44.853 回答
1
  1. 做其他人所说的,关于<script src="..."></script>
  2. 使用 just src="//...",而不是src="https://..."或在非加密页面(http 与 https)上,您的访问者将收到混合两种协议的安全警告
  3. 如果您在页面上的任何位置编写了 jQuery 代码,在实际包含该文件之前,您将收到引用错误,其中 JS 将无法找到$您尝试使用的函数 ( )。

如果您使用 Chrome,则可以使用调试器,然后按:CTRL+SHIFT+J它将带您进入开发者控制台,我相信您会在其中看到各种参考错误。

在 FirefoxCTRL+SHIFT+K中是F12.

This works under the same premise as writing in other languages where you try to use libraries or other classes, but don't actually import them until the bottom of your program.

于 2012-10-28T21:45:39.537 回答
0

您可能会遇到一些竞争情况...如果您可以提供完整的代码会很好...如果您将其附加在标题中...那么您的 jquery 将成功加载然后执行您的正文部分...如果您将其附加在正文中...然后关闭脚本会带来一些问题...尝试在更改正文标记中的脚本代码位置时播放。

</script>在跨浏览器中关闭是强制性的

这可能会帮助您进行调试。

于 2012-10-28T21:24:43.870 回答
0

为什么要在代码末尾加载 jquery?如果您有其他一些需要 jquery 的脚本,那么它们应该在它之后加载。因此,要么将所有脚本标签放在头部或主体的末尾——jquery 应该在其他依赖它的文件之前加载。

于 2012-10-28T21:43:58.553 回答