jQuery on IE8, error: Object doesn't support this property or method

廉价感情. 提交于 2019-12-20 01:14:19

问题


I have jQuery for a WordPress theme I'm building. I've given up for now on testing IE6 and IE7 (layouting hell), and now I'm testing it using IE8. Every time I click on a prettyPhoto link OR a jQuery cycle link, JS gives out this error and fails to bring up the lightbox or move the slider. As usual his works fine in all the other browsers.

The site is in http://themes.thefirm.gambit.ph

You can see the error when in IE8, and when you click on the left or right arrows of the header area.

Object doesn't support this property or method

Can someone please help? Has anyone else encounter this? I'm quite stumped at this and I can't find anything from Google.

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


回答1:


The line in jQuery (minified version) that's causing the error is:

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

The solution is to change this line to:

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

@kirilloid is correct in that Regexp is throwing the error especially when the value being matched is numeric. e.g. animating css properties such as opacity, top, left, etc. Converting it to string fixes the problem. Now IE is not getting any more errors.

I don't like this fix very much since I edited the jQuery library file, but I guess I'll have to make do with it. The change doesn't have to have any bad side effects to normal functionality.




回答2:


I just came upon the same problem. Instead of altering jQuery (yes, I realize it's a decent patch in the short term), contact the author of the Wordpress plugin/theme or Wordpress themselves if necessary. They can fix the problem by using string values instead of numeric values when they call .animate() or other effects. For example:

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

Should be:

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

In reality, jQuery should address the problem to remain cross-browser, but in the meantime it's a solution.



来源:https://stackoverflow.com/questions/4987842/jquery-on-ie8-error-object-doesnt-support-this-property-or-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!