我是最新版本的jQuery并尝试使用fancybox,但这些消息总是出现:
未捕获的TypeError:无法读取属性' msie'未定义的
未捕获TypeError:$(...)。fancybox不是函数
我也试过jQuery.noConflict()
,我的jQuery在fancybox.js之前加载
答案 0 :(得分:0)
您是否尝试过使用新的fancybox? http://fancyapps.com/fancybox/
这是jquery.fancybox-1.3.4.js文件中的前几行
;(function($) {
var tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right,
selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [],
ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
loadingTimer, loadingFrame = 1,
titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('<div/>')[0], { prop: 0 }),
isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
它会在这里失败
isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
因为{1.9}已从1.9开始删除,除非您包含jquery.migrate https://api.jquery.com/jquery.browser/
由于它失败了 - $ .fancybox永远不会有机会被宣布,这就是为什么你得到2个错误。
新的fancybox没有使用jquery.browser
而是正在使用jQuery.browser
所以你必须选择下面的一个