HTML如何加载外部JS文件

时间:2016-03-25 07:39:25

标签: javascript html web src

我是网络开发人员的初学者,我最近遇到了一些代码,其中包含以下两种外部JS文件:

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="//d3js.org/d3.v3.min.js" charset="utf-8"></script>

我知道浏览器会执行额外的HTTP请求来获取引用的文件。现在,这让我感到疑惑:

当我将包含的HTML文件放入XAMPP htdocs文件夹并通过localhost访问它时,一切正常。但是,当我在Chrome或Firefox中打开本地.html文件时,它无法找到这些外部JavaScripts。

显然,这不是一个问题,因为你通常不会这样使用HTML文件,但我仍然想知道这里发生了什么。是否需要某种服务器来包含外部JS文件?有趣的是,当我包含这样的文件时,它可以工作:

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

知道为什么=)

真的很有趣

干杯!

2 个答案:

答案 0 :(得分:1)

localhost具有 http:// 协议,如果您复制localhost网址并将其粘贴到任何编辑器,您只需使用您的localhost网址查看 http:// 即可当您通过 file:// 直接打开文件时,它不会,这就是您通过XAMPP localhost访问时加载文件的原因。

答案 1 :(得分:1)

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>正在使用相对网址,它将使用显示网页中的协议方案,但会使用网址中的主机。在HTTPS页面上,这将是一个HTTPS请求,在HTTP页面上,它将是一个HTTP请求。

因此换句话说,它会查找所请求页面使用的正确协议 - HTTP或HTTPS。并使用它。

以下是关于此主题的精彩内容:http://nedbatchelder.com/blog/200710/httphttps_transitions_and_relative_urls.html

相关问题