JavaScript
こんなんできました。 折り返しもしてる!! ソースコード twitter記法使いたい @teramako nsIAlertsService みたいに別ウィンドウとして出さないと駄目かもしれないですね。めんどくさそうですけどw2010-08-14 01:33:50 via Twittperator to @teramako @an…
微妙に Vimperator 依存になってるかもだけど、おおむねそのまま使えるはず。 手抜き仕様です。 単純なので、nsISocketTransportService を使ってます。 もっと格好いい HTTP なやつもあるかもしれないですが、必要ないでしょう。
Medama Cherenkov Maker - http://www.kurinton.net/~snca/medama-cherenkov-maker.htmlしょうもないバグしかなかった!
表示されていない iframe 内の要素に対して、getComputedStyle すると null がかえってきちゃう。 JavaScript コード let d = content.frames[0].document; let e= d.querySelector('a'); d.defaultView.getComputedStyle(e, ''); // => null main.html <div style="display:none"> <iframe src="iframe.html" /> </</iframe></div>…
よくわからなくてちょっとはまったので、メモるよ。 let download = function (url, filepath, referer, postDataText) { let dm = Cc["@mozilla.org/download-manager;1"].getService(Ci.nsIDownloadManager); let wbp = Cc["@mozilla.org/embedding/browse…
色々教えて貰いました。 uneval @anekos uneval('猫') "\u732B"" 付きでお得(?) echo愛 @anekos :echo $("猫").utf16 i_love_echo.jsが入っていればできますよ これは Vimperator のプラグイン前提。 うちでは*1ちょっとおかしかったので、原因をあとで調べ…
A sharp variable is a syntax in object initializers that allows serialization of objects that have cyclic references or multiple references to the same object. #数字に代入することで、他のプロパティをリテラル内で参照できるらすぃ。 let hoge …
Ruby でいうところの Array#replace がやりたかったけれど、そのままなメソッドはないようなのででっち上げてみた。 function arrayReplace (ary, newItems) (ary.length = 0, ary.push.apply(ary, newItems)); let a = [1, 2, 3]; alert(a); // -> "1,2,3" …
id:teramako さんに教えて貰いました。 function fromUTF8Octets (s) { let conv = Components.classes['@mozilla.org/intl/scriptableunicodeconverter']. getService(Components.interfaces.nsIScriptableUnicodeConverter); conv.charset = 'UTF-8'; retu…
Google AJAX Language API を使って、チャンネルの発言を翻訳してログに表示します。 (単に表示で発言はされない、はず) evil ちゃん 手抜きで eval 使ってるけど、JScript デフォじゃ JSON むりだよなぁ。
/home/anekos/temp ディレクトリがまでがある状態で下のを実行したら let path = '/home/anekos/temp/moge/neko/mimi/death'; let file = Components.classes['@mozilla.org/file/local;1'] .createInstance(Components.interfaces.nsILocalFile); file.init…
なんか、久しぶりにコミットした気がする。 http://coderepos.org/share/changeset/34522/lang/javascript/vimperator-plugins/trunk Frame のロードをまつようにしてみた。
http://reader.livedoor.com/reader に行かなくても、Vimperatorのコマンドラインからピンを開くことができます。開いたピンはlivedoor Reader上のピンのリストからも削除されます。 ウメェ。 fastladder のページ開かなくても良いのはちょっぴりうれしいか…
5/11のコミットでグローバルオブジェクトのsearchがfinderにリネームされてます。たぶん単純なリネームなので以下の変更で動いています。頻繁に最新のnightly入れたりgitで取ってきたコードをそのまま使ってる人とか以外にはとりあえず関係無いですが。 プロ…
問題となっている箇所についてはまだわかりませんが… .vimperatorrc でこんな感じに設定すればこのエラーは出なくなった。 let g:command_bookmarklet_use_sandbox = true うーむ。これはこれで謎。 上のコマンドは失敗するはずなので、以前のように liberat…
どこまで読んだのか迷ったりすることが割とあるので、これはありがたい。 Opera にも似たようなのが合った気がするがあれと同じなんだろうか。 ただ、スクロールに別のコマンドを要するのが難点。 j/k を上手く使えるように出来ないかな。 括弧の位置修正 ht…
重いサイトを開いてたときに、不便したので作った。 本当は、読込に失敗したフレームも再読込したかったんだけど、 やり方が分からなかったので画像のみです。 これは地味に便利かも。 ニコニコ動画とか、サムネが表示されないこと多いからなぁ。 ちなみに、…
mapを変更するプラグインは既にあるけど、コマンドやヒントも出来るといいなと思っている。 デフォルトでスタイルはサイトごとに設定出来るのだから、コマンドもサイトごとに設定出来て良いような気もする。 いまはデフォルトでそういう機能が無いので、まと…
Welcome to vimpr! で扱っているイベント名が "on〜" 形式なのが気になるなぁ。 addEventListener という名前の関数であれば、"on" はない方が自然に思える。 さすがにこれは勝手にコミットできないが、今から換えるのは難しいかなぁ。 とりあえず、両方受け…
をリリースしたさ。 https://addons.mozilla.org/firefox/addon/7614 追加されたのは以下の三つ。 コメント欄の自動オープン機能 代替ファイル名の設定を追加 無効なディレクトリを設定した場合の警告 なんか、他にも追加したいのがあった気がするけれど… な…
再起動後にエンコーディングがおかしくなるのを修正 タイミングに依るようだが、ドキュメントが完全に読まれていないと正しいエンコーディングが得られないのだろう。 また、特に設定する必要は無いはずなので無視するようにした。
Firefox の拡張を作っていたら奇妙なバグ(?)に遭遇。 "Reserved slot index of range" というエラーで、起きるときと起きないときがある。 I've issued a workaround for this in 3b9f4c75bb64. From the changelog: I've narrowed down the cases in which …
"" で括りまくったりするのやだやだー、なときに。 let css = <>; alert(css); こんな感じで。 もっと簡単に 特定の文字列が含まれなければ、CDATA は省ける。 let css = <> Somali Ragdoll Manx ; alert(css); あくまでもモドキ 余計な空白などが入るけれど…
ひっそりと。 サイズやツールの表示を消さないようにした。 http://userscripts.org/scripts/show/12958
vimperator の :set javascript / :set nojavascript で JS の on/off 切り替え - 8時40分が超えられない - subtech を抽象化したいので作った。user_pref の boolean な値だと、set foo/set nofoo で簡単に切り替えられるため特に便利。このプラグインを入…
最小公インデント数(?)分だけ切り詰める仕様にしてみた。 ">|| 〜 || http://coderepos.org/share/changeset/29699
たとえば、:scriptnamesというコマンドの実装をソースの中から探すとき 一番簡単なのは のように補完で description を調べて、それで検索する方法。 この場合であれば、 vimgrep /List all sourced/ *.js などで一発で出る。 これなら、ヘルプで省略パター…
時間表示のところでホイールをクリックリッすると、シークするように。 ホイールのクリッから、実際にシークするまでは 1 秒の遅延があるようになっている。 リアルタイムに動かすと重い場合があるのと、動画の時間区切り(なんていうんだっけ?)によってはシ…
content.location オブジェクト由来の以下のキーワードを追加してみた %HOSTNAME% %PATHNAME% %HOST% %PORT% %PROTOCOL% %SEARCH% %HASH% また、"%%HOSTNAME%" のようにして、エスケープする事が出来るようにした。 この例だと "%HOSTNAME%" が得られる。%% …
前にコミットしたのを修正。 http://coderepos.org/share/changeset/29665 外部から使えるように、 liberator.plugins.PMWikiParser にオブジェクトを突っ込んである。