我使用的是RS Slider JS库,但是我将它加载到几个页面而不是所有网站上,然后我有一个脚本,这是我触发库的所有站点所共有的,例如:
var revapi;
jQuery(document).ready(function() {
revapi = jQuery('.tp-banner').revolution(
{
delay:9000,
startwidth:1170,
startheight:500,
hideThumbs:10,
lazyLoad:"on"
});
});
在某些情况下,当库JS没有被加载因为我不需要它时,这部分代码会触发一些"未成年人"错误,那么我如何检查JS是否已加载或是否存在revolution()
对象或其他东西以避免该问题?你的处理方法是什么?
答案 0 :(得分:1)
在初始化插件之前,您可以检查特定的类是否存在。如果没有,插件函数永远不会被调用,也不会抛出错误
if( $('.revolutionClass').length ){
/* initialize plugin */
}
答案 1 :(得分:1)
因此,您要问如何确定jQuery()
返回的对象是否具有revolution
功能?
为什么不这样做:
jQuery(document).ready(function() {
var banner = jQuery('.tp-banner'),
revapi;
if (banner.revolution) {
revapi = banner.revolution({
delay:9000,
startwidth:1170,
startheight:500,
hideThumbs:10,
lazyLoad:"on"
});
// do other stuff with revapi
}
});