2012-02-21 65 views
10

可能重复:
Can I change all my links to just //?在没有所有浏览器支持的协议的情况下链接到CSS或JavaScript?

我已经学会了,我可以用“//域/路径”的格式,而不是具体的关于是否该资源引用CSS和JavaScript应该通过HTTP或HTTPS加载。示例:

<link href="//ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 

然后,浏览器使用与当前页面相同的协议(模式)加载资源。

这是否支持所有浏览器,如果不支持,哪些浏览器不支持它?

+0

我在IE7上遇到了一些问题。东西没有正确加载。但我不会将此作为答案发布,因为我不确定问题再次出现。 – 2012-02-21 08:23:22

+0

我自己经常想知道这个问题,但是我能否问一下,为什么你会关心上述情况,因为SSL开销会在第三方服务器上,如果你只是一直使用https://? (也许超越旧IE版本的古老的第一个https连接警告信息。)当然,你可以使用自己资源的不同(子)域,因此可能会更关心。 – userx 2012-02-21 08:23:36

+0

@userx好点;我应该更清楚地知道,这些资源只是一个例子,而且真正的联系是另一个第三方。我们链接到他们的https JavaScript,它从http位置加载其他JavaScript(可能因为该页面是http ??),导致Chrome(正确)警告最终用户,并允许他们不加载不安全的内容。 – 2012-02-21 08:29:18

回答

3

是的,但IE 6-7会用这种方法下载样式表两次。除此之外,它适用于所有常见的浏览器。请参阅Can I change all my http:// links to just //?,Paul Irish - The protocol relative URL

+0

谢谢你,莱纳斯。我没有发现重复的内容,但现在您已经向我展示了我已投票决定将问题视为重复。或者我应该投票删除它? – 2012-02-21 08:23:17

+0

我对此一无所知 - 我不确定我是否被委托处理重复内容和其他内容。 ;) 祝你好运! – 2012-02-21 08:27:34

1

根据this文章。

当一个或@import的样式表中,IE7和IE8 下载文件两次。然而,所有其他用途都很好。

而关于IE 6

这并不工作在IE6的原因是服务器使用SNI到 演绎返回什么证书。 XP(因此IE6)不支持HTTPS堆栈中的 SNI。

相关问题