なんか、Firefox12にしたあたりからGreasemonekeyのsetTimeout関数の挙動が怪しい・・・
軽くググってみたら、そういう症状が出てる人がちらほらいるみたい
挙動としてはタイマーの値を1000以下にすると動くことが多いんだが、確実じゃない感じ
4000とかにするともう動かない・・・
とりあえずの対策としては
setTimeout -> unsafeWindow.setTimeout と置換してやれば動くっぽい
なんでだろうな、なにかやらかしちゃったのか?
2012年5月13日日曜日
Firefox12にしたらGreasemonkeyでsetTimeoutが動きにくくなった
登録:
コメントの投稿 (Atom)
3 件のコメント:
私と全く同じ問題を抱えている人が居て安心しました。
twitterにて「setTimeout」で検索かけてツイートから飛んできました^^;
ただ少し挙動に関して違うのは、私の場合は殆ど1秒ごと(1000)で動かしていたのですが、最初の数回だけ実行されて止まります。
setTimeoutを使っているのが1箇所でない為、もしかすると現在実行中のタスク?みたいなものの限界が小さくなってしまったのかな・・なんて思ってました。謎ですねw
何はともあれ、私の場合はsetIntervalで代用するとえq動いたので良かったです。
一応、報告まで。
自分も setTimeout が動かなくなったので困っていたのですが、Greasemonkey 0.9.19 の問題かもしれません。
とりあえず手動で 0.9.20 をインストールして回避しました。
早く自動更新対応してほしいなー。
Greasemonkey 0.9.20 Release
http://www.greasespot.net/2012/05/greasemonkey-0920-release.html
「A change in 0.9.19 broke setTimeout() for a variety of cases, that has been reverted.」
情報有り難うございます。
早くバージョンアップ等で修正されるといいですね
コメントを投稿