« 前のひとこと | トップページ | 次のひとこと »

aboutme:138720

昨晩、Firefox 4.0.1 にアップデートしてみたのだが、Greasemonkey との絡みなどで、いろいろ不具合が出たので、とりあえず 3.6.17 に戻した。

JRF 2011年5月11日 (水)

こちらの問題だと納得でき対策可能なのは、E4X を使っているところで、それをそのまま渡すというのができず、toString() したから渡さないといけないというのがあった。

《Firefox4でcan’t wrap XML objectsというエラーが出る件について | Web scratch》
http://efcl.info/2011/0326/res2406/

JRF 2011年5月11日 9306

この点では、私は↓で書いた cocolog_print_fix.user.js を公開していたので、まず、それだけ直しておいた。

《Firefox でココログを印刷しようとすると本文が1ページ目しか表示されない [ JRF のソフトウェア Tips ]》
http://jrf.cocolog-nifty.com/software/2006/03/post_4.html

JRF 2011年5月11日 6014

また、今作っている Greasemonkey がらみのスクリプトは両方とも問題があるようだった。

《aboutme2cocolog: アバウトミーの「ひとこと」をココログプロへ移転するツール》
http://jrf.cocolog-nifty.com/software/2011/04/post.html

《電子署名の替わりに Loaded Magic》
http://jrf.cocolog-nifty.com/software/2011/05/post.html

JRF 2011年5月11日 3872

statuses_editor.user.js のほうは、おそらく GM_xmlhttpRequest がらみで落ちていて、summoner_trusted.js のほうは、alert + setTimeout でもろに実験をしていたから、これは↓がズバリだと思う。

《alert + setTimeout = failure (was: GM_xmlhttpRequest fails silently) - GitHub》
https://github.com/greasemonkey/greasemonkey/issues/1318#comment_975522

JRF 2011年5月11日 5283

《GM_xmlhttpRequest and Firefox 4 - greasemonkey-users | Google グループ》
http://groups.google.com/group/greasemonkey-users/browse_thread/thread/5dcab19d2fdd8ca5

《Bug 647727 ? setTimeout doesn't work after calling alert from evalInSandbox》
https://bugzilla.mozilla.org/show_bug.cgi?id=647727

JRF 2011年5月11日 9126

ただ、他にも思いあたることがあって、Firefox 4 になってから unsafeWindow と window の関係がちょっと変わったらしく、そこでちょっとおかしなことになってる可能性もある。

《Firefox 4.0b10でGreasemonkey 0.9.1のユーザスクリプトのwindowを共通にする改造(開発者orVimper向け) - wltの日記》
http://d.hatena.ne.jp/wlt/20110130/1296359063

JRF 2011年5月11日 5458

さらに、summoner_tursted.js がらみでは arguments.callee.caller が undefined になるという事態にも会った。ただ、そのチェックはちょうど、caller がGreasemonkey の「見えない」関数になるものだったのでそこだけの問題なのかもしれない。

JRF 2011年5月11日 5954

↓の「杜甫々」氏は caller は obsolete のようなことを書いているが、MDC や、その下の記事を見ると、arguments.caller はなくなるが、arguments.callee.caller はいいということになるのかと思っていたのだが…。

《関数(Function)》
http://www.tohoho-web.com/js/function.htm

JRF 2011年5月11日 3748

《function - Why was the arguments.callee.caller property deprecated in JavaScript? - Stack Overflow》
http://stackoverflow.com/questions/103598

JRF 2011年5月11日 9016

summoner_trusted.js がらみの検討(↓)の結果、JavaScript では caller はセキュリティのためには、これまで「必要」と言えたと思う。ただ、defineProperty の方法ができたので、もしかすると「必要」とまではされなくなったとか…?

《JavaScript で、読み込んだ二つのソースの間(inter-script)で安全に関数を渡す(delegation)の方法を考えていたのだが、現行のバージョンである限り、できなさそうだった。》
http://jrf.aboutme.jp/user_statuses/show/138721

JRF 2011年5月11日 7132

« 前のひとこと | トップページ | 次のひとこと »

トラックバック


トラックバックのポリシー

他サイトなどからこの記事に自薦された関連記事(トラックバック)の一覧です。

» aboutme:138721 from JRF のひとこと

JavaScript で、読み込んだ二つのソースの間(inter-script)で安全に関数を渡す(delegation)の方法を考えていたのだが、現行のバージョンである限り、できなさそうだった。 続きを読む

受信: 2012-01-04 20:36:03 (JST)