Google Chrome、Firefox、Safari、および Opera でエラーなく問題なく動作する、かなり複雑な Javascript があります。ただし、常に際限なく煩わしいケースになりがちなため、Internet Explorer では完全に失敗します。IE7 と IE8 でテストしたところ、同じエラーが発生しました。
無効な引数。プロトタイプ.js、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 回以上呼び出し、エラーが発生している正確な場所を数時間把握しようとしました。エラーが発生している場所を見つけるために自分でできることはありますか?