LDR、IMEをオフにするGreasemonkeyスクリプト(Windows限定)

| コメント(0) | トラックバック(0)

表題のとおりのスクリプトです。
元ネタはこちら。

Collection & Copy - LDR、IMEをオフにするGreasemonkeyスクリプト(Flash8限定)
http://d.hatena.ne.jp/brazil/20060904/1157342173

そもそも、よく棒人間にIME切ってくれって怒られて困ってる人少ないんだろうな。
いや、けっこう怒られて困ってます(^^;
不便に感じてる人はそれなりにいるんじゃないでしょうか。


Flash8限定はなかなか厳しいので、Windows限定ですが、別のアプローチでIMEをOFFにするスクリプトを書いてみました。

2006/09/06 追記:
より改良したものに差し替えました。
LDRの棒人間に怒られないようにするGreaemonkeyスクリプト(Windows限定)



インストール、IMEをONにしてLDRへ。

livedoorlivedoor Reader - RSSリーダー

これで棒人間に怒られる事もなくなりますね。


注意
バックグラウンドのタブで開いたりした場合は、効果がありません。


解説
原理は実はよくわかってなかったり(^^;
以下のような経過でできました。

FirefoxのパスワードフィールドにフォーカスするとIMEがOFFになる機能を使おう。
ショートカットキーが使えないと話にならないので調査。
LDR の event.js のなかに
HotKey.prototype.ignore = /input|textarea/i;
HotKey.prototype.allow = /element_id/;

<略>

if(!this.allow.test(id) && this.ignore.test(tag)) return;

とあるので、id を element_id にしたパスワードフィールドを作って試行錯誤。
<略>
うまくいくようになったが、ページのどこかをクリックすればIMEがONになってしまう。

ところがフォーカスしてOFFになった状態で再読み込みしてみるとIMEが完全にOFFに。>なぜ?

無限リロードにならないように、Firefoxがlocation.searchに値を入れると再読み込みする習性を利用。

(゚Д゚)ウマー

たぶん、FirefoxはパスワードフィールドでIMEをOFFにする機能を実行したあと、フォーカスが外れればIMEをONにするトリガーかけていて、再読み込むすることでそのトリガーがリセットされてIMEがOFFのままになるんじゃないかと。

この機能は今のところWindows版のみなので、このスクリプトもWindows版Firefoxのみで有効です。
将来的には、他のプラットフォームでもサポートされるかもしれませんね。


余談
dataスキームで読み込んだFlashが動作しない件は、けっこう困りますね。
ちょっと試行錯誤したけど、成果なしorz

これができてしまうとFlashのセキュリティを回避することになるし、根本的に違うアプローチが必要なのかもしれないと思えてきたり。
何かよい方法はないもんでしょうか?

トラックバック(0)

トラックバックURL: http://a-h.panepon.com/mt5/mt-tb.cgi/172

コメントする

このブログ記事について

このページは、AUSGANG SOFTが2006年9月 5日 14:29に書いたブログ記事です。

ひとつ前のブログ記事は「Amazon Web Service と PHP で JSONP」です。

次のブログ記事は「LDRの棒人間に怒られないようにするGreaemonkeyスクリプト(Windows限定)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ