Posted by & filed under Uncategorized.

About wangcui

wangcui wangcui has written 13 post in this blog.

转载于http://qianduanblog.com/post/jquery-getscript-1.html

目前做的主题,含有大量的js,以前是全部压缩到2个文件里的,两个文件都很大,在现代浏览器中运行毫无压力。但是,对于残疾的ie来说,那简直就是受罪。会随机出现以下状况:

1、js加载无任何错误,但就是没有特效。

2、js加载总是失败。

3、js加载过慢,导致用户失去耐心。

4、js加载过多,导致浏览器性能下降不少。

目前这款主题,是越做越杂了,超过了当时简洁的想法,几乎涵盖了所有能想到的内容。所以,在对待所有浏览器相同的待遇时,ie的表现让人蛋疼不已。所以有了以下几个方法:

1、屏蔽ie的部分特效。

2、异步加载js文件,用到该文件再加载,并且不重复加载。

目前已修改完毕,等待测试。

当然,这里主要讲的就是getScript方法,这个方法是$.ajax的高级方法,就像$.post,$.get一样是封装好的ajax特殊用法。getScript可以这么用:

  1. if($.fn.cookie)//这里以jquery-cookie.js插件为例
  2. {
  3. ready_cookie();//执行需要cookie插件的函数
  4. }
  5. else
  6. {
  7. $.getScript(‘jquery-cookie.js’,function()
  8. {
  9. ready_cookie();//执行需要cookie插件的函数
  10. });
  11. }
  12. function ready_cookie()
  13. {
  14. //code
  15. }

本质是这样的:

  1. $.ajax(
  2. {
  3. url:‘jquery-cookie.js’,
  4. dataType:“script”,
  5. success:function()
  6. {
  7. ready_cookie();//执行需要cookie插件的函数
  8. }
  9. });

这里是个简单的用法,在加载脚本的时候,脚本是不会缓存在客户端的,因为每次异步加载的时候会带上一个时间戳的。

【完】

Leave a Reply

  • (will not be published)