我有以下元素:
<script type="text/javascript" src="https://cdn.example.com/js_file.js"></script>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,该站点是HTTPS,但该站点也可能只是HTTP.(JS文件在另一个域上.)我想知道为方便起见,执行以下操作是否有效:
<script type="text/javascript" src="//cdn.example.com/js_file.js"></script>
Run Code Online (Sandbox Code Playgroud)
我想知道是否有效删除http:或https:?
它似乎适用于我测试过的所有地方,但是有什么情况下它不起作用吗?
我看到了//somepage.com/resourceurl格式.例如:
<img src="//remotesite.com/image1.jpg" />
Run Code Online (Sandbox Code Playgroud)
这一点是,如果当前页面(定义img标签的页面)正在使用http,则通过http进行对远程站点的请求.如果它是https - 它是https.这消除了浏览器未完全加密页面的警告.
我的问题是 - 这种URL格式是否可以安全地用于所有浏览器.它是一个标准吗?
方案相对URL(网络路径引用)是我刚刚发现的 - 你没有指定URL的方案,它从当前上下文中选择它.
例如:
如果当前方案是HTTPS或不是,则<img src="//domain.com/img.png" />解析为.https://domain.com/img.pnghttp://domain.com/img.png
这似乎是一种非常简单的方法来解决在SSL页面上调用外部脚本或图像的麻烦问题,而不会引起页面上某些内容不安全的可怕错误.
好处似乎很明显,但我似乎无法找到的是关于此的大量信息,并且想知道是否有人有任何关于方案相对URL(好或坏)的经验或参考?
虽然我试图发现是否有任何浏览器导致问题(我已经成功使用IE6-8,Chrome和Firefox),我也有兴趣了解是否有任何人有使用此功能的不同经验语言.例如,如果你Response.Redirect在ASP中发布一个方案相对URL ,它会起作用吗?
离开http似乎使它使用HTTP进行连接,但我没有启用HTTPS的站点来测试它是否也适用于HTTPS.
使用//www.example.com/test.js是否会根据主文档的协议自动选择协议?
我想我明白发生了什么,但谷歌搜索时没有找到任何确定的东西.在这样的代码中:
// talking about the src attribute
<script type="text/javascript" src="//use.typekit.net/%kitid%.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我习惯了http://在那里.当我在http服务器上调用此页面时,它会对资源进行常规HTTP请求,因此我假设这是http://的快捷方式.我猜这与不知道您所在的页面是否要使用https://或http://有关?有任何关于这种做法的信息的文章或任何内容?