javascript的src中http或https有无的问题

引用某网站这样一段javascript

<script type="text/javascript" src="//assets.appsample.com/js/common.js"></script>

放到html中却不能正常生效,在src处加上http:才可以找到,为什么给的例子是这样?只用双斜线//是合法的吗?

阅读 11.7k
3 个回答

可以肯定的告诉你直接使用//是合理的,这样做之后获取资源的原则会根据你访问的URL的协议改变而改变。也就是说如果你用http://xxx.com访问的话则此时就是http://assets.appsample.com/js/common.js。如果是使用https://xxx.com访问的话此时就是https://assets.appsample.com/js/common.js

刚刚去搜索了一下,得知此种特性叫做“相对协议地址”,英文是叫做"Protocol Relative Urls",具体可以查看这个:Using Protocol Relative URLs to Switch between HTTP and HTTPS

哥们儿你是双击文件看的吧?注意地址栏是file:///,使用file协议的话,src中的//不会自动匹配SPDY或是HTTP的,想//正常的话,至少把你的文件放到静态服务器上用http访问。

直接去掉//呢?

推荐问题
宣传栏