IE8给出错误“无效参数”使用prototype.js时,如何找到错误的位置?
我有一个相当复杂的Javascript,在Google Chrome,Firefox,Safari和Opera中没有任何错误,可以完美运行。但是,由于往往总是令人讨厌的情况,它在Internet Explorer中完全失败。我已经在IE7和IE8中测试过并得到了同样的错误:
无效的论点。 prototype.js,line
2216,角色9
我正在使用通过Google托管的Prototype 1.6.1。给出的错误不是很有帮助,因为它没有告诉我在实际代码中发生错误的位置。错误中提到的行是以下代码中底部的第6行:
setStyle: function(element, styles) {
element = $(element);
var elementStyle = element.style, match;
if (Object.isString(styles)) {
element.style.cssText += ';' + styles;
return styles.include('opacity') ?
element.setOpacity(styles.match(/opacity:s*(d?.?d*)/)[1]) : element;
}
for (var property in styles)
if (property == 'opacity') element.setOpacity(styles[property]);
else
elementStyle[(property == 'float' || property == 'cssFloat') ?
(Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
property] = styles[property];
return element;
},
因为它在setStyle代码块中,所以我假设当我为某个元素设置样式属性时会发生错误。但是,我在这个脚本中调用了setStyle超过100次,并且一直试图弄清楚错误发生在几个小时的确切位置。我能做些什么来帮助自己找到发生错误的地方吗?
没有找到相关结果
已邀请:
5 个回复
瞧叮
:
然后你就会确切地知道导致问题的属性和价值。
氮顺
痴浪墨
断跑胺弄萎
屠创氓读叔
引起的。 也许还是
或者某种东西。 要在将来调查此类问题,请检查您在catch块中为第三方函数提供的参数。的种类
此代码会指向零时间内的错误源。以下是使用Prototype.js帮助程序调试此案例的更详细的代码段:
附:在IE8中你应该打开开发人员工具(F12)让
工作。