GM_getValueというデータを永続化しておくことができるGreasemonkeyの関数があるのですが、
これをクリックイベントの中で使おうとしたら
Error: Greasemonkey access violation: unsafeWindow cannot call GM_getValue.
とエラーが出てしまいました。
イベントの中で普通にこのように書くとダメなのです。
var value = "bar";
GM_setValue("foo", value);
でも、以下のように書くとOKになります。
var value = "bar";
setTimeout(function() {
GM_setValue("foo", value);
}, 0);
setTimeoutでくくればOKなようです。なぜかはよくわかりません。ちなみに
http://wiki.greasespot.net/0.7.20080121.0%2B_compatibility
に書いてありました。
0 件のコメント:
コメントを投稿