Jeep のブラウザ ベースのサービス マニュアルがあります。IE では問題なく動作しますが、Firefox では動作しません。基本的に、展開してサブトピックにドリルダウンできる TOC があります。
- [+] クラッチ
- [+]冷却
- [+] 電気
ただし、メイン トピックの横にある [+] をクリックすると、Firefox は次のエラーをスローします。
TypeError: all[i] is undefined
itcToc.js line 10
if( "UL" == all[ i ].tagName )
itcToc.js のコードは次のとおりです。
var eCurrentUL, eCurrentLI, eUL, tempIndex, syncIndex = null;
var eTagName, eSrc, eImgIndex, eSynchedNode = null;
var tempImgIndex = '0';
function getNextULNS(eSrc)
{
var all = document.getElementsByTagName("*");
for(var i = tempIndex; i < all.length; i++)
{
if( "UL" == all[ i ].tagName )
{
eImgIndex = all[tempIndex - 2];
return all[ i ];
}
else if( "LI" == all[ i ].tagName )
{
break;
}
}
return false;
}
私はメカニックなので、トラブルシューティングに最善を尽くしました。10 行目の i を整数に置き換えると、これを過ぎて、15 行目の次の if ステートメントでエラーが発生します。これは同様の構文です。
これは変数のスコープの問題ですか? for ステートメントで定義されているにもかかわらず、Firefox は if ステートメントの var i を好まないようです。