ぼちぼち散歩

マッチするタブに切り替えたときに,自動的にvimperatorのkeyをオフにする

マッチするページの場合、自動的にvimperatorのkeyをオフにする autoIgnoreKey プラグイン - hogehogeというのがあったので,全面的にパクらせていただいて作ってみた.と,思ったら自分がつけたブクマコメントに反応して頂いて元のページの人がもう対応してたorzありがとうございます!

一応動くものができたので公開してみる.ignorePageListにマッチするURLのタブに切り替わるたびに自動的にVimperatorがオフになります.Firefox独自の部分(XULでいいのかな?)が関わってくるJavaScriptをほとんど書いたことがないので,なんか違うかも知れませんがとりあえず動いたの貼っておきます.

(function(){
/**
 * String or RegExp
 * e.g)
 * /^https?:\/\/mail\.google\.com\//
 * 'http://reader.livedoor.com/reader/'
 */

var ignorePageList = [
    /^https?:\/\/mail\.google\.com\//,
    'http://reader.livedoor.com/reader/',
    /^http:\/\/www\.nicovideo\.jp\//,
];

document.getElementById('appcontent').addEventListener('TabSelect', function(event) {
    var d = gBrowser.selectedBrowser.contentDocument;
    if(isMatch(d.URL)) {
        vimperator.addMode(null, vimperator.modes.ESCAPE_ALL_KEYS);
        vimperator.log('Map ignored: ' + d.URL);
    }
}, false);

function isMatch(uri) {
    return ignorePageList.some(function(e,i,a) {
        if (typeof e == 'string'){
            return uri.indexOf(e) != -1;
        } else if (e instanceof RegExp) {
            return e.test(uri);
        }
    });
}
})();
スポンサーサイト

2008/01/21 23:07 | Firefox | トラックバック(0) | コメント(0)

ページの先頭へ

コメント

コメントの投稿


トラックバック

トラックバックURL
http://relaxedcolumn.blog8.fc2.com/tb.php/113-4f5b2a59

トップページへ