这是加载Twitter Bootstrap的正确最小兼容方式吗?

时间:2013-07-23 16:49:14

标签: performance javascript-framework conditional-comments

这个问题有点过分,因为它适用于一个脚本依赖另一个脚本的任何场景。在这种情况下,twitter bootstrap JS依赖于JQuery JS。

我有:

<!--[if lt IE 9]>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript" defer="defer"></script>
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js" type="text/javascript" defer="defer"></script>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js" type="text/javascript" defer="defer"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
<script type="text/javascript">
function loadBootstrapJS(){
 var bootstrap = document.createElement('script');
 bootstrap.type = 'text/javascript';
 bootstrap.async = true;
 bootstrap.src = "//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js";
 document.getElementsByTagName('head')[0].appendChild(bootstrap);
}
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" defer="defer" async="async" onload="loadBootstrapJS();" type="text/javascript"></script>
<!--<![endif]-->

我的理解是:

  • IE 8不支持onload或async,但支持延迟
  • IE 9不支持异步,但支持延迟和上传
  • IE 10支持这三种。
  • 当两者都存在时,async优先于延迟
  • 仅在IE 9及更高版本上支持JQuery v2,而在IE 8上支持v1

我是否覆盖了所有基础,以尽可能快地在尽可能多的浏览器上加载此页面?还是有什么我错过的?有更好的方法吗?

0 个答案:

没有答案