检查是否加载了html 5 shim

时间:2012-07-01 12:19:37

标签: javascript jquery html5shiv

我们通常检查jQuery是否从CDN加载,如果没有,则回退到本地版本。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')</script>

我正在使用twitter bootstrap,它从googlecode副本加载html 5垫片。

<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>

如果没有从googlecode

加载,我是否可以回退到本地版本

或者我做错了什么。我不应该检查这个吗?

4 个答案:

答案 0 :(得分:11)

<script>window.html5 || document.write('<script src="js/libs/your-local-version.js"><\/script>')</script>

答案 1 :(得分:4)

我不打算退回jQuery(长时间的讨论和我不想打开的蠕虫),但这取决于你。

我认为从googlecode加载html5.js会导致更多问题,你应该在本地托管它。为什么?因为您直接从SVN树的主干中引用代码。该代码可以/将会改变您,这将使您的工作进入未经测试的状态。你可以从Googlecode引用一个特定的版本......或者真的,只是自己托管它。

答案 2 :(得分:4)

在本地托管shiv,有很多问题从Google使用它(尤其是DNS查找等)以获取更多信息 - http://zoompf.com/blog/2012/05/html5shiv-and-serving-content-from-code-repositories

至于那个我不打扰的jQuery回调代码,用户会认为该页面在回调激发之前很久就会被破坏。

如果您让我知道您要展示的网页网址。

答案 3 :(得分:1)

使用html5shim时,我建议首先在本地加载它。在他们的网站上,他们最近改变了措辞,让你下载文件而不是GitHub的热链接,GitHub可以托管未经测试的代码。