我在dev目录中安装了我的网站的副本,并发现jQuery Carousel不再有效。
我现在收到错误:
Uncaught TypeError: Cannot read property 'safari' of undefined
我在Chrome和Firefox上测试时,我不明白这一点。
此外,在网站的生产版本上没有发生此错误 - 只有开发版本。
我更新了jQuery,jQuery-UI和jQuery Carousel的版本以及测试所有文件是否存在但问题仍然存在。
有人知道发生了什么以及如何解决这个问题吗?
我的轮播代码是:
jQuery(document).ready(function($){
$('#mycarousel').jcarousel({
vertical: true,
scroll: 2
});
});
如果有人想要查看网站的开发版本: http://www.dev.wakeup.com.au/
答案 0 :(得分:4)
问题可能是该插件使用$.browser
。
这已在jQuery版本1.9中弃用和删除,如其升级日志中所述:
http://api.jquery.com/jquery.browser/
描述:包含useragent的标志,从中读取 navigator.userAgent的。这个属性在jQuery 1.9中删除了 只能通过jQuery.migrate插件获得。请尝试使用 特征检测。
如果是这种情况,插件会使用(皱眉)浏览器嗅探技术来实现跨浏览器的兼容性。
您可以在1.9之前使用jQuery版本测试插件。如果您需要更新版本的jQuery,请查看插件的页面,如果有任何新版本可用于修复与新jQuery版本的这种不兼容性。