这是完全跨浏览器兼容吗?还有其他警告吗?
只是在混合使用中,如果您正在本地服务器上开发,它可能无法正常工作。您需要指定一个方案,否则浏览器可能会假设为src="file://cdn.example.com/js_file.js"
,由于您不是在本地托管此资源,因此它会中断。
Microsoft Internet Explorer中似乎是这个特别敏感,看到了这个问题:Not able to load jQuery in Internet Explorer on localhost (WAMP)
你可能总是试图找到与必要的修改最少的所有环境工作的解决方案。
通过HTML5Boilerplate使用的解决方案是有一个后备,当装入不正确的资源,但只有当你整合检查工作:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!-- If jQuery is not defined, something went wrong and we'll load the local file -->
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
我张贴了这个答案here为好。
更新:HTML5Boilerplate现在在决定弃用协议相对URL后使用<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
,请参阅here。
不久前,我在IE博客上讨论了这种技术。但是,当我尝试它时,它不能很好地工作。如果我的网站使用HTTPS,则浏览器(Chrome)仍在使用HTTP协议无法使用的网址。 – 2012-06-09 17:05:42
警告:请记住永远不要在HTTP 3xx重定向用户无模式的URI! HTTP标头与此URL格式不兼容。如果您需要根据方案进行重定向,请使用mod_rewrite或类似方法。 – user2596282 2013-07-18 15:44:42
@ user2596282在Chrome和Firefox的现代版本中进行的实验不同意你的看法,就像HTTP 1.1的(仍在草稿中)修订版一样。 spec由HTTPbis工作组定义(请参阅https://svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/p2-semantics.html#header.location)。但是,也许你所说的某些浏览器是真的;你知道任何特别的位置标题中的协议相对URL失败吗? – 2013-07-21 19:06:43