使用jQuery异步加载javascript脚本解决方案
Javascript程序是一个非常强大的和有用的工具,在Web的发展。一些流行的装载机,如curljs,labjs和requirejs,广泛使用。他们是强大的,但在某些情况下,他们可以有更简单的解决方案。如果你使用jQuery,有一个内置的方法可以用来加载脚本。如果你想延迟加载插件或者其他类型的脚本,你可以使用这个方法。
实现方法
jQuery加载脚本内置getscript方法和返回的结果可以在几个方面实现。最基本的用法,jquery.getscript,看起来像这样。
复制代码代码如下所示:
jquery.getscript( / / / myscript路径。JS
*
加载并执行脚本后,您可以进行一些处理。
* /
});
的getscript方法返回一个jqxhr对象,所以可以使用这种方式:
复制代码代码如下所示:
jquery.getscript( / / /路径myscript .js)
完成(函数(){())
成功实施后的处理*
})
失败(函数(){())
在实现过程失败之后
});
使用jquery.getscript最常见的情况是延迟加载插件和呼叫后负荷:
复制代码代码如下所示:
jquery.getscript(jQuery JS。饼干。)
完成(函数(){())
jquery.cookie(cookie_name
});
如果你需要做更先进的东西,如加载多个脚本和不同类型的文件(文本文件、图像、CSS文件等),我建议你换一个更强大的Javascript loader.getscript如果你只是想延迟加载插件是完美的,而不是简单地加载每一页!
缓存问题
值得注意的是,当jquery.getscript使用时间戳是自动添加的脚本的URL保持脚本缓存后,你需要设置所有的缓存脚本的请求:
复制代码代码如下所示:
JQuery.ajaxSetup({
缓存:真
});
如果你不想覆盖所有的缓存和Ajax请求,最好使用jquery.ajax方法和设置数据类型的脚本,如:
复制代码代码如下所示:
jquery.ajax({
URL
DataType:剧本
Cache: true
}。完成(函数(){)
jquery.cookie(cookie_name
});
加载脚本时,您需要特别注意缓存问题!