由于某种原因,在Internet Explorer 8中,jquery.js(版本1.4.3,非压缩版本)的3156行出现以下Javascript错误:Object doesn't support this property or method
。而在Firefox和Google Chrome中没有出现任何错误。
错误发生在以下这一行:
if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
调查 (console.log(Expr.leftMatch[type])
) 产生了以下有趣的结果:在Google Chrome中,它输出
/(^(?:.|\r|\n)*?):((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\3\))?(?![^\[]*\])(?![^\(]*\))/
然而在Internet Explorer中,输出结果如下:
function() {
var p = this;
do p = p.previousSibling;
while (p && p.nodeType != 1);
return p;
}
在哪里无法调用exec
(它未定义)。引用的函数不在jquery.js中。有人知道为什么会发生这种情况,或者我该怎么做才能解决它吗?
不幸的是,我还没有能够创建一个简单的脚本来重现这个问题,虽然我找到了这篇帖子,里面有人遇到了同样的问题,但它并没有提供解决方案(最后一篇建议在标准模式下运行页面,但我的已经是标准模式了)。