首页 > HTML编码规范中关于“不要指定引入资源所带的具体协议”的问题

HTML编码规范中关于“不要指定引入资源所带的具体协议”的问题

HTML编码规范中提到:

不要指定引入资源所带的具体协议。

当引入图片或其他媒体文件,还有样式和脚本时,URLs 所指向的具体路径,不要指定协议部分(http:, https:),除非这两者协议都不可用。

不指定协议使得 URL 从绝对的获取路径转变为相对的,在请求资源协议无法确定时非常好用,而且还能为文件大小节省几个字节。

不推荐:
<script src="http://cdn.com/foundation.min.js"></script>

推荐:
<script src="//cdn.com/foundation.min.js"></script>

遇到的问题:
当我在本地环境使用HTML编码规范推荐的方式去编写代码,去无法获取到对应的资源文件,请问为何会出现这种情况?

我的代码:

<script type="text/javascript" src="//libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>

以上。


不知你的本地环境是怎样的?
如果不是访问本地 HTTP 服务器上的页面文件,而直接打开的,页面将会以 file:// 协议而不是 http:// 协议来访问。
而如果页面内的资源链接是以 // 开头的相对链接,浏览器将以 file:// 来访问。
<script type="text/javascript" src="//libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
这个 tag 将以 file://libs.baidu.com/jquery/1.10.2/jquery.min.js 为链接进行请求,但这是一个无效的链接,因此请求失败。

【热门文章】
【热门文章】