一劳永逸的解决jquery的本地引入的方法

转载至:

一劳永逸的解决jquery的本地引入的方法

标签: jqueryhtml5
4065人阅读 评论(0) 收藏 举报
分类:

很多人都建议jQuery使用cdn加速的方式引入。当然,我不反对这么做。但是以我自己做项目的便利性,我还是习惯把jq放在本地使用。原因有以下几点:

  1. 项目的可靠性。不会受外在的情况的影响。
  2. 在断网的情况下依旧可以工作。(我这个随时随地写代码的人哪)。

好,jq本地引入有什么问题?

  1. JQ2不兼容IE低版本,所以,针对IE低版本,要使用JQ1.11版
  2. 同时引入html5.js,以让低版本IE支持HTML5标记

为了实现这样的效果,我们需要写如下代码:

<!--[if IE]>
    <script src='js/jquery/jquery-1.11.3.min.js'></script>
    <script src='js/jquery/html5.js'></script>
<![endif]-->
<!--[if !IE]><!-->
    <script src="js/jquery/jquery-2.1.4.min.js"></script>
<!--<![endif]-->
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

好,如上。

IE以后不会有新版本了,所以我简单粗暴的分为IE和非IE。如果愣是要区别IE自身的版本的话,代码就太冗长了。

但是这个代码还是比较冗长的。我个人不是很喜欢。怎么办呢?

我想到一个解决方法。就是在同目录下建立一个jquery.js的文件,然后,在这个文件中写上如下代码:

document.writeln("<!--[if IE]><script src=\"js/jquery/jquery-1.11.3.min.js\"></script><script src=\"js/jquery/html5.js\"></script><![endif]-->")
document.writeln("<!--[if !IE]><!--><script src=\"js/jquery/jquery-2.1.4.min.js\"></script><!--<![endif]-->");
    
    
  • 1
  • 2
  • 1
  • 2

使用这种方式之后,在html中确实精简太多啦。我们只需要这样调用就可以了。

<script src="js/jquery/jquery.js"></script>
    
    
  • 1
  • 1

相比上面的一坨代码,确实是非常理想。但是,问题还是存在的。什么问题呢?就是在这个项目中是没有问题的,在其他的项目中,可能就有问题了。

因为其他的项目的目录路径可能跟这个是完全不一样的。

有什么办法可以解决呢?有思路:

  • 所有JS文件放在同一个目录下,至于这个目录在哪里是不知道的。
  • 因此,我们需要动态的获取这个js的目录并赋予变量,然后替换原来的路径就可以了

思路如此简单,代码实现不一定简单。因为我的JS基础非常薄弱,只能写一些不太复杂的jquery。而这个一定是不能用jquery来写的,因为它的作用是引入jquery,所以必须要写原生。

查找了一番资料,终于找到解决方法。代码如下:

var js=document.scripts;
js=js[js.length-1].src.substring(0,js[js.length-1].src.lastIndexOf("/")+1);
document.writeln("<!--[if IE]><script src='"+js+"jquery-1.11.3.min.js'></script><script src='"+js+"html5.js'></script><![endif]-->");
document.writeln("<!--[if !IE]><!--><script src='"+js+"jquery-2.1.4.min.js'></script><!--<![endif]-->");
    
    
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

其中

var js=document.scripts;
js=js[js.length-1].src.substring(0,js[js.length-1].src.lastIndexOf("/")+1);
    
    
  • 1
  • 2
  • 1
  • 2

是百度来的,原文地址:http://www.cnblogs.com/MaxIE/archive/2007/11/09/936999.html

虽然这段代码很乱,但是通过仔细研究之后,还是搞明白了。

好了,用了这段代码之后,就一劳永逸的解决jquery引入问题啦,以后想用jquery,直接把这一坨给复制到相应目录,然后检点的调用一下jquery.js即可不用管啦!

0
0
 
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值