JavaScript

リンクをフィルタして開くプラグイン

を書いた。 もちろんミゲ文字列でフィルタできる。 (無くても動きます) :fo[pen] <ミゲ文字列> [-i <INTERVAL_SEC>] :fo[pen] /<正規表現> [-i <INTERVAL_SEC>] ミゲ文字列か正規表現でフィルタされたリンクを開く :lo[pen] URI URI を開くちなみに Migemo はなくても動く。 無い場合は "</interval_sec></interval_sec>…

lookupDictionary.js で rc ファイルに追加辞書設定をかけるようにした。

辞書追加するのにスクリプトを書き換えるというのはアレなので、 .vimperatorrc などで辞書を追加できるようにした。 こんな具合。 js <

修正してやるっ!

drryさんに修正されている!ありがとう! http://coderepos.org/share/changeset/19952/lang/javascript/vimperator-plugins/trunk http://coderepos.org/share/changeset/19953/lang/javascript/vimperator-plugins/trunk ""と''はちゃんと使い分けるか、""…

window.eval

window.eval の第二引数が無視されているということで良いのかな。 { function american_short_hair () { let somali = 'namerareta!'; return function () { alert('Kamitukuzo!'); }; } function mike (context) { let anekos = 'ababababa'; try { alert(…

ldrize_cooperation.js がウゴカナーイ

Firefox 3.0.2 にしたら死亡! window.eval の仕様が変わった? 何かかわるようなものないのかなぁ。 command とかどうやって取ったら良いのか思いつかない。以下、極めて駄目くさいパッチ。 どうなっても知りません。

パッチするプラグイン

というわけで setCharPref 関数 ( http://developer.mozilla.org/En/NsIPrefBranch#setCharPref.28.29 ) が悪さをしてるぽい。いや悪さなのかな。仕様を知らないからわからないんだけど about:config の値には ascii しか指定できないのかもしれないし。 set…

migemized_find 修正

migemized_find の怪しげなところを修正した趣 検索ワードを素早く確定するとおかしなことになっていた。

Read It Later 的なプラグイン

Vimperatorのコマンドラインで :readcatlater :rcl で、ブックマークの後で読むフォルダに追加。 :readcarnow :rcn で、指定のURLを開く&後で読むフォルダから削除 ブックマークにフォルダが作られて、そこに登録されるのでマウスでも開いたり追加すること…

auto_detect_link で AutoPagerize のキャッシュを利用できるようにした。

Firefox の preference よりキャッシュを取得して、次リンクの検出に使えるようにした。 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/auto_detect_link.js AutoPagerize がなくても、動作に支障はない。 また、キャッシュ…

ニコニコ動画のオススメに飛ぶプラグイン

Vimperator のコマンドラインで :nicorelated と、すると補完でオススメ動画のリストがでる。 選択すれば開いたりする。 おまけ的機能として、 コマンドにURL以外を指定したときの動作: 空 => ニコニコ動画のトップページに移動 動画ID(sm.+) => 動画に移動 …

local_mappings.js.diff

local_mappings.js のパッチ。 コマンドの補完が出ないようにする。 --- local_mappings.js.orig 2008-09-06 04:22:33.609375000 +0900 +++ local_mappings.js 2008-09-06 04:24:59.828125000 +0900 @@ -107,11 +107,12 @@ } let action; if(ar[3]){ - actio…

Migemized Find - リンクにフォーカスするようにした

検索結果がリンクの場合、フォーカスするようにした http://d.hatena.ne.jp/nokturnalmortum/20080805#1217941126 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/migemized_find.js そのまま、Enter でリンクを開ける。

feedSomeKeys for Google Reader

適当なので変なとこあるかも。 はうまくうごいてない?? // Google Reader autocommands.add( 'LocationChange', /^https?:\/\/www\.google\.(com|co\.jp)\/reader\//, function () { liberator.plugins.feedKey.setup( [ "n", "p", "v", "N", "P", "O", "x",…

Migemized Find、フレーム対応

ほぼ問題なくなったきがする。 フレーム対応 MF.storage のバグ修正 フォーカスしているフレームのみを対象にしようと思っていたけれど、 Vimpearator はコマンドラインに入った時点でフォーカスが解除されてしまうようだ。 そういうわけで常に全てのフレー…

feedSomeKeys.js

以前書いた仮想キーコードのパッチのやつを、 liberator.plugins.feedKey.setup(...., true) :fmap! ... とすれば、仮想キーコードを使うようになる。 という感じにしてみて、勝手にコミットした。Google Reader なら下のような感じになる。 第二引数に true…

GMailとLocationChange

Gmail用に autocommands.add( 'LocationChange', /mail\.google\.com\/(mail|a)\//, function () { liberator.log('meow'); plugins.feedKey.setup( "c / y j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc".split(/ +/).map(function(i) [i, "4" + i]) …

Migemized Findを大幅書き換え

取りこぼしがなくなった気がする。 あと、 こういうふうに強調表示されるようになった。 ("function"の部分) Vimperator のページ内検索を Migemo 検索に置き換えるプラグイン。 http://d.hatena.ne.jp/nokturnalmortum/20080805#1217941126 http://coderepo…

Migemized Findの取りこぼし

検索の開始を遅延することで取りこぼしにくくしたつもり。 取りこぼしの有無にかかわらず、デフォルトでは重いのでこれはこれでいい気もする。 あと、引っかかったワードを黄色くしたりしたいが、やりかたがよくわからん。 XUL/Migemoの検索バーをそのまま使…

スクロール可能な div 要素などでスクロールするプラグイン

を書いた。 Vimperator標準の ]f [f みたいな感じで要素を選び、 j k でスクロールする。 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/scroll_div.js

特定の要素ピカーンと光らせるような感じのもの

下の例だと、指定した要素が一瞬青くなります。 function flashElement (elem) { let indicator = elem.ownerDocument.createElement("div"); let rect = elem.getBoundingClientRect(); indicator.id = "nyantoro-element-indicator"; let style = "backgro…

Firefox3 Hacks

特典付きで届いたぁわば

DOMInspectorのCSS Style Rulesの取得方法

let elem = document.getElementById('FindToolbar').getElement('findbar-textbox'); let DOMUtils = Components.classes["@mozilla.org/inspector/dom-utils;1"]. getService(Components.interfaces["inIDOMUtils"]); let rules = DOMUtils.getCSSStyleRul…

Migemized Find修正

検索ワード確定後の処理を修正というか追加。 検索モードの一文字目で、(正規表現|Migemo)を使い分けられるようにした。 http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/migemized_find.js http://d.hatena.ne.jp/nokturnalm…

.vimperatorrc.js

vimperatorの設定ファイルについてー よく、.vimperatorrc に javascript <

element.isVisible

要素が表示されているかどうか、簡単に知る方法は無いのかな… わからないので、適当にでっち上げた。 // 要素が表示されているか? function isVisible (element) { return !(element.style && element.style.display.match(/none/)) && (!element.parentNod…

Date#getMonth

JavaScriptの Date#getMonth は、(月 - 1)を返すんだな… だまされたーーーー!! getDate とかは、zero origin じゃないのに。

テキストをクリップボードへコピー

function copyToClipboard (copytext) { const supstr = Components.classes["@mozilla.org/supports-string;1"]. createInstance(Components.interfaces.nsISupportsString); const transferable = Components.classes["@mozilla.org/widget/transferable;1…

コマンドでコンテキストメニューを実行

を追加した。 ただし、使えないメニューも出てくる駄目仕様。 どうしたらいいんだろ。 → http://d.hatena.ne.jp/nokturnalmortum/20080626#1214471166 そういえば、codereposの登録メールの返事がまだ来ない… もぶらぁ。

new Boolean(false); の評価

ブール値(boolean)としてのtrueと、オブジェクト(object)としてのtrueは、typeofで判別できますが、通常は区別する必要がありません。if文の条件としても、boolean、objectのどちらでも同じに使えます。ただし、次のように書くとダメです。 これを同じに…

typeof this == "object"

ちょっとハマってしまった。 String.prototype.f = function () { alert(typeof this); }; alert(typeof "test"); //=> "string" "test".f(); //=> object ぬーん。