Javascript错误导致fancybox无法在Firefox上运行
Javascript error causing fancybox not to work on firefox
我在这个网站上使用js没有冲突 http://tidypools.com/tid-temp
花式盒子在火狐浏览器上不起作用。当我使用Firebug时,它给了我以下错误:
错误行:99
Safari 也给出了一个错误:
类型错误:"[对象对象]"不是函数(靠近"...}"((jQuery(;关闭编号...'(
当我打开脚本第 99 行时,它是脚本中的最后一行:
})(jQuery); //CLOSE NO CONFLICT//
我尝试了一个js清理器,去掉括号,分号,移动等......似乎没有任何效果。任何关于它错在哪里的想法。谢谢你们。
这是指向 js http://tidypools.com/tid-temp/js/plugins.js 的链接,因为它比在此处复制它更容易阅读。
@Kreshnik 哈萨纳吉
这是插件.js文件中花哨框的代码:
// ******************************** LIGHTBOX ********************************
$(".fancybox").fancybox();
$(".grouped_elements").fancybox({
helpers: {
title: {
type: 'inside'
}
}
})
});
// ******************************** LIGHTBOX MOBILE ********************************
$(".mobile_grouped_elements").attr('rel', 'gallery').fancybox({
padding: 0,
margin: 5,
nextEffect: 'none',
prevEffect: 'none',
autoCenter: true,
afterLoad: function() {
$.extend(this, {
aspectRatio: true,
type: 'html',
width: '90%',
height: '80%',
content: '<div class="fancybox-image" style="background-image:url(' + this.href + '); background-size: cover; background-position:50% 50%;background-repeat:no-repeat;height:100%;width:100%;" /></div>'
});
}
});
从代码的第一眼看,问题并不明显。
你有这个:
//**************************************************************************
// ******************************** NO CONFLICT ********************************
jQuery.noConflict() // return `$` to it's previous "owner"
(function($) { // in here you're assured that `$ == jQuery`
// ... left out code that is not important for the problem ....
})(jQuery); //CLOSE NO CONFLICT//
这部分的问题在于,jQuery.noConflict()
后你会错过一个;
。
对于JS解释器,它看起来像:
jQuery.noConflict()(
function($) {
}
})(jQuery);
由于jQuery.noConflict()
没有返回函数,因此会出现此错误。为了避免此类问题,即使在某些情况下可以省略;
,也要添加它。
更新
除了缺少 t.niese 所述的分号外,我刚刚意识到我还有一个额外的"}("在导致问题的第一个灯箱代码的第 8 行上。
我把它改成了
// ******************************** LIGHTBOX ********************************
$(".fancybox").fancybox();
$(".grouped_elements").fancybox({
helpers: {
title: {
type: 'inside'
}
}
});
它现在正在工作。
感谢大家的帮助!
相关文章:
- jQuery自动完成在Firefox中运行良好,但在Chrome中则不然
- HTML/JS github页面项目没有't在使用firefox运行时加载图像或声音
- Ajax调用在InternetExplorer中冻结UI,但在firefox中运行良好
- 以下颜色更改功能在IE9和Firefox中运行良好,但在早期的IE或Chrome中则不然
- [AutoIt]如何使用FF.au3在FireFox上的页面中运行javascript
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 无法使用firefox在浏览器中运行此代码
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- 是否可以从在Firefox或IE的网页中运行的Javascript启动Windows进程
- 在 chrome 或 Firefox 中的调试控制台对.js文件运行 JSLint
- 是否可以从 Firefox 运行 bash 脚本?(使用 Firefox 附加组件 SDK)
- Javascript键码在Firefox中不起作用,但在chrome中运行良好
- jQuery fadeIn fadeOut"眨眼;在Chrome上,在FireFox和IE上运行良好
- 我的简单Javascript代码可以在Safari上运行,但不能在Chrome、Firefox或Opera上运行
- Jquery.hide()和.show()在firefox上运行速度较慢,但在chrome上运行良好
- Firefox附加组件:cfx-run运行良好,cfx-xpi运行良好,但附加组件没有任何作用
- Jquery没有在firefox浏览器中调用Webservice方法,它在Chrome和IE中运行良好
- d3实现可以在firefox/chrome上运行,但不能在iPad上运行
- 为什么我的 init() 函数没有运行?(安装 Firefox 扩展时自动添加工具栏按钮,但仅在首次运行时)
- 无法启用html文本字段.IE 8发布.firefox运行良好