HTML编码规范中提到:
不要指定引入资源所带的具体协议。
当引入图片或其他媒体文件,还有样式和脚本时,URLs 所指向的具体路径,不要指定协议部分(http:, https:),除非这两者协议都不可用。
不指定协议使得 URL 从绝对的获取路径转变为相对的,在请求资源协议无法确定时非常好用,而且还能为文件大小节省几个字节。
不推荐:
<script src="http://cdn.com/foundation.min.js"></script>
推荐:
<script src="//cdn.com/foundation.min.js"></script>
遇到的问题:
当我在本地环境使用HTML编码规范推荐的方式去编写代码,却无法获取到对应的资源文件,请问为何会出现这种情况?
示例代码:
<script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js" async></script>
以上。
1
abelyao 2015-03-03 14:11:55 +08:00 via iPhone
亲,你的标签写错了,async 后面就结束符了?
|
3
binux 2015-03-03 14:17:04 +08:00 1
因为本地测试的直接 file:// 打开,并没有通过 http 协议传输啊
|
4
nealnote 2015-03-03 14:17:14 +08:00 2
本地用的是 文件协议 file:
你的等价于 <script src="file://libs.baidu.com/jquery/1.10.2/jquery.min.js" async></script> 你的电脑本地这个路径并不存在这个文件。 应该做的是,本地起web server 跑 |
5
shiny 2015-03-03 14:17:15 +08:00 1
1、文件系统上直接打开HTML,这种写法不会被解析成 http
2、而且百度的库不支持 https 你可以在本地配置一个 http 服务器来打开,这种写法就可以用。 |
6
ETiV 2015-03-03 14:18:52 +08:00 via iPhone 1
网页的 URL scheme 是不是 file://
|
8
aliuwr 2015-03-03 15:26:22 +08:00
可以使用 http://lib.sinaapp.com/, 支持 HTTPS.
|
9
otakustay 2015-03-03 18:25:29 +08:00
这种写法在file://协议下某些版本IE会直接死机,所以我还是喜欢检测protocol来区分http和https,同时忽略其它协议
|