4

我有我正在构建的WordPress主题的jQuery。我已经放弃了测试IE6和IE7(layouting hell),现在我正在使用IE8测试它。每次我点击prettyPhoto链接或jQuery循环链接时,JS都会发出此错误,并且无法显示灯箱或移动滑块。像往常一样,他的作品在所有其他浏览器中都很好。在IE8上的jQuery,错误:对象不支持这个属性或方法

该网站是在http://themes.thefirm.gambit.ph

在IE8时,您可以看到错误,当你点击标题区域的左侧或右侧箭头。

Object doesn't support this property or method

有人可以帮忙吗?有其他人遇到过吗?我很困惑这一点,我无法从谷歌找到任何东西。

Update: I've uploaded the site and updated this question

+0

rfxnum中包含哪些值? – kirilloid 2011-02-14 02:20:14

+0

您使用的是PNG图像的图像?如果他们是,他们有一个alpha通道和一些透明的部分在他们开始? IE8支持PNG透明度,但不与不透明度一起使用,这可能是问题所在。 – 2011-02-14 02:42:08

回答

2

中的jQuery(精缩版)这是造成错误的行是:

somehwere in line 140: var C=Bb.exec(u)

解决的办法是改变这一行:

var C=Bb.exec(u.toString())

@kirilloid是正确的在正则表达式抛出错误,特别是当匹配的值是数字时。 例如动画css属性,如不透明度,顶部,左侧等。将其转换为字符串可修复问题。现在IE不会再有错误了。

自从我编辑jQuery库文件后,我不太喜欢这个修复,但我想我必须要做。此更改不必对正常功能产生任何不良影响。

2

我刚刚遇到同样的问题。与其改变jQuery(是的,我认识到它在短期内是一个体面的补丁),如有必要,请联系Wordpress插件/主题或Wordpress的作者。当他们调用.animate()或其他效果时,他们可以通过使用字符串值而不是数值来解决问题。例如:

$(this).animate({opacity:0.5},500); 

应该是:

$(this).animate({opacity:"0.5"},"500"); 

在现实中,jQuery的应该解决的问题保持跨浏览器,但同时它是一个解决方案。

相关问题