GreaseMonkeyのscript修正
Firefox(build:2005092515)にアップグレードしたところ、今まで動作していたGreaseMonkeyのscriptが動作しなくなったので原因を調査したところこのページがヒット。XPCNativeWrapperというものが関係あるらしい。以下のように修正して動作OK。
var divs = document.getElementsByTagName('div');
// for(var i=0; i<divs.length; ++i){ // 以前のコード
var div; for(var i=0; div = divs[i]; ++i){ // 修正後のコード
動くようになったが以下の疑問が……。
- t.lenghtはなぜ無効?
- forはどのタイミングでexitするの?
2005/09/27追記
- divs[i]をdivへ代入するのがが失敗(divs[i]がnull等)になるまでforをループさせると考えれば、それほどわかりにくくはないかな?