HTML 优雅的引入jQuery

阅读(8086)

引入jQuery不过一个标签的事,如果想多了,可以有:

  1. 能够区分IE和非IE,来加载臃肿的1.x版本,或是抛弃历史包袱的轻快2.x版本
  2. 能够最大的利用cache。做为最通用的js基础库,每个网站就不用重复去拉取了,互相使用第三方提供的同一份的cache文件吧
  3. 如果引用的第三方js文件失败呢?那就再加载一次自家的
  4. 如果是移动设备呢?加载下特别针对触摸屏优化的js吧

<!-- 区分IE,使用不同版本的公共JS库 -->
<!--[if !IE]>-->
<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>
<!-- <![endif]-->

<!--[if IE]>
<script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
<![endif]-->

<!-- 公共JS库加载失败了,则加载自家的 -->
<!--[if !IE]>-->
<script type="text/javascript">
    window.jQuery || document.write("<script src='../js/jquery.min.js'>"+"<"+"/script>");
</script>
<!-- <![endif]-->

<!--[if IE]>
<script type="text/javascript">
    window.jQuery || document.write("<script src='../js/jquery1x.min.js'>"+"<"+"/script>");
</script>
<![endif]-->

<!-- 对移动设备加载优化js -->
<script type="text/javascript">
    if('ontouchstart' in document.documentElement) document.write("<script src='../js/jquery.mobile.custom.min.js'>"+"<"+"/script>");
</script>

如果是国外网站,使用google提供的DNS文件好了,支持HTTP/HTTPS。可以不指定protocol来使用JS:


<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

国内网站就使用百度的吧,不过并不像宣称的那样,百度公共js只支持HTTP,HTTPS无法访问。既然是个有利互联网的公益,何不好事做到底呢,HTTPS多个证书嘛..

Goodle托管的公共JS库: https://developers.google.com/speed/libraries/devguide
百度托管的公共js库:http://openapi.baidu.com/wiki/index.php?title=docs/cplat/libs

Tags: