为什么Google Developer Library的jQuery链接中没有协议?

时间:2014-01-11 12:56:35

标签: jquery

我总是有疑问。我认为谷歌是聪明的。  但是当我复制开发者网站的jquery链接时    https://developers.google.com/speed/libraries/devguide以下jquery链接

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

示例代码

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type='text/javascript'>
          $(document).ready(function(){
            alert('hello');
          });
        </script>
    </head>
    <body>
    </body>
</html>

它对我不起作用

但是当我用

更改它时

<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type='text/javascript'>
          $(document).ready(function(){
            alert('hello');
          });
        </script>
    </head>
    <body>
    </body>
</html>

它对我有用

为什么谷歌没有在链接中附加http:?这是故意的吗?

我使用mozilla作为浏览器

2 个答案:

答案 0 :(得分:2)

Google选择省略协议,以便通过继承当前协议,其代码段可以跨httphttps页面工作。


修改

如果您使用浏览器打开html文件,则默认协议为file://,这就是为什么它不起作用的原因。您必须在Web服务器中托管该文件,才能使其与//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js网址一起使用。

答案 1 :(得分:0)

除了小错字之外,对此的答案是协议 - 更少的网址不会在本地与服务器一起工作。第二个版本,您不应该将代码/标记放在html之外。

使用以下内容:

    <html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type='text/javascript'>
        $(document).ready(function(){
        alert('hello');
        });
        </script>
    </head>
    <body>
    </body>
</html>

如果您的服务器上需要http或https,请删除协议。