$.cookie 使用不了的问题定位过程
最近在项目中需要使用到jquery的cookie,按理说在html头中引入jquery-1.7.1.min.js和jquery.cookie.js,然后在js中就可以使用cookie函数了。像这样使用 alert($.cookie('test_cookie'));
单独使用没有问题,但是加入到我们的项目中就会提示“对象不支持此属性或方法”,定位过程如下:
- 单独提取出来,使用单独的一个html文件来测试,没有问题。说明jquery-1.7.1.min.js和jquery.cookie.js这两个js文件都是正确的。那么接下来的思路应该是我们的项目自身对这个有影响。更换cookie的在本项目的测试位置点,在登陆的时候测试。
- 按照问题定位的一般思路,缩小问题定位范围,先执行部分页面,看是否有这个问题,这样逐渐缩小定位范围,最后定位到是因为引入videoList.jsp和videoTimeTable.jsp导致这个问题的出现。
- 在videoList.jsp这个文件中逐渐删除引入的js文件,当删除jquery-1.7.1.min.js,时现象就不出现了。说明跟这个js文件有关,在这个文件中把jquery.cookie.js添加上,也没有问题,所以jquery-1.7.1.min.js和jquery.cookie.js必须成对出现。
- 所以说问题的原因是这样的:我的工程是一个大的jsp文件下面通过tab加载了很多小的jsp文件,这些多个小的jsp文件中引入了jquery-1.7.1.min.js和jquery.cookie.js,如果只有任何一个文件只引入了jquery-1.7.1.min.js而没有引入jquery.cookie.js,则在所有的jsp文件中使用cookie的函数时,就会提示找不到这个函数。但是原因是什么呢?