Home > Latest topics

Latest topics > TBEでタブを並べ替えるとおかしくなる問題3

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

TBEでタブを並べ替えるとおかしくなる問題3 - Sep 16, 2005

なんかまた違う問題がポロポロと出てきましたよ?

タブを並べ替えたり消したりしてあれこれしてたらエラーが出るようになって、原因を探っているうちに、どうもタブの配列?がおかしくなってるらしいということに気がついた。gBrowser.mTabsはアクセスするとgBrowser.mTabContainer.childNodesを返すgetterになっていて、まあ、この二つは詰まるところ同じ物のように扱ってるんだけど、この、gBrowser.mTabContainer.childNodesが時々おかしくなるようだ。インデックスの範囲を超えた範囲の要素にアクセスしても、undefinedにならずに、要素ノードを返すことがある

例えば見た目上は4つのタブが開かれていて、gBrowser.mTabContainer.childNodes.lengthを見ても要素の数は4と返ってくるんだけど、gBrowser.mTabContainer.childNodes[4]にアクセスしたら何故か要素ノードが返ってくる(本当はgBrowser.mTabContainer.childNodes[3]までにしかアクセスできないはず)。これ、JavaScript 1.6の仕様変更に伴う挙動の変化ですか?

とにかくこのせいで、nodelist[index]にアクセスしてundefinedが返ってくるかどうかで添え字がインデックスの範囲を超えてるか超えてないかを判別していた部分が誤判定を起こすようになってしまっていた。

こんなの、他にどれだけあるか分からんよ……よう探しきれませんorz

分類:Mozilla > XUL, , , , , , 時刻:02:32 | Comments/Trackbacks (0) | Edit

Comments/Trackbacks

TrackBack ping me at


の末尾に2018年6月21日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2005-09-16_tbe-bug3.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2018年6月21日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のつぶやき