This domain may be for sale!
そういえば前にSoozy Conference #2でやったプレゼン資料を公開してなかったので、今日リクエストもあったので公開してみるです。 資料 MozRepl and XPCOM MozReplの実際の拡張例 http://moz-addon.g.hatena.ne.jp/ZIGOROu/?word=%2a%5bMozRepl%5d ここら辺から漁ってくだしあ。 とにかくMozReplはむちゃくちゃ便利。拡張作る人は知らないとダメだお。 あとnsIInterfaceInfo辺りから、オンラインドキュメント漁らなくてもAPIの概観だけは掴むみたいな処理をいつか書きたいんだけど、チャレンジしてくれる人が居たらそれはそれで嬉しいです。 ご一報下さい。(ぇ
Introduction Fresno provides unix command line access to the Javascript interpreter of your running Firefox instance. It is a complement to MozRepl, so you will need to have that installed and running in your firefox. Why do I Care? Here's an example of what you can do. This visits a web page, plucks out the HTML for a portion of the page, and then uses grep to pick out the hrefs. % ./fresno -p ht
アルバイト先のひとがテスト好きなので、影響されて『Working Effectively With Legacy Code』を読んでいる。英語は得意ではないので、ちゃんと読めているかというとあやしいのだけど。 Firefox の拡張も単体テストを書きつつ作っていくのが良いかと思って、mozrepl-test というのを書いてみた。 つかいかた config.rb を環境にあわせて適切に編集した後 make して、できた mozrepl-test を PATH の通ったフォルダに置いてください。 こんなテストコードを JSAN.use('Test.Simple'); plan({ tests: 4 }); ok(1 == 1); ok(2 != 2); ok(3 == 3); a.js として保存して MozRepl を起動した状態で % mozrepl-test a.js 1..4 ok
ヒストリが使いたい 公式サイトにはsocatが推奨とあるけど、rlwrapのが便利。 カスタム関数を自分で定義したい それrepl.load()で、 repl.load("file:///home/zigorou/.repl/custom.js", repl); この場合だと多分、 with (repl) { // ここにロードしたスクリプトが入る } って感じだと思われるので、scopeに注意。 repl.home()で元のChromeWindowオブジェクトが取れるので、それを元に記述すると結構色々出来そうな予感。 repl.search() repl.enter()でcontextを変更しないで、searchの第2引数に対象としたいオブジェクトを入れる。 repl.search(/^get/, window.top.getBrowser()); repl.enter()するとたまにお
MozReplって何,って人は,とりあえず落とそう. http://dev.hyperstruct.net/mozlab とりあえず考えたのは,「今表示してるYouTubeのページの動画のダウンロード」. require 'net/telnet' require 'net/http' require 'uri' require 'open-uri' prompt = /^repl>/ begin repl = Net::Telnet.new("Host" => "localhost", "Port" => 4242, "Prompt" => prompt) rescue puts "replが起動してないかも" exit end repl.waitfor(prompt) exit unless repl.cmd("content.location.href") =~ /youtube.co
HTMLDocument(いわゆるbodyとかdivとか)までアクセスの仕方がよくわからなかった。で、いろいろ試してたら repl> content.window.document.body [object HTMLBodyElement] repl> content.window.document.body.innerHTML='Hello World' # Hello world と表示されるcontent.window.document.body でアクセスできました。 var b = content.window.document.body というようにエイリアスを作っとくといいかも。もしくはrepl.enter(context.window.略)して、コンテキストを変更する。 追記: コメントより転載 ・content.document.body でも行けます。 ・repl.en
いまいち分かってないんだけど、Perlのperlsh,Pythonの対話型シェル,Rubyのirbのような使い方ができるみたいですね。Firefoxも出力にできるJavascriptシェルといった感じでしょうか。Firefoxの内部で行われているJavascriptの処理を覗き見れるシェル型のインターフェース かな。Replというオブジェクトがシェルみたいな役割を果たしていて、repl.method()という感じでメソッドを呼び出して対話型の操作ができる。任意のJavascrptコードを打ち込むことができます。Replオブジェクト自身もJavascriptのようなので、Replを書き換えることも可能みたい。 初めの一歩 #()をつけると関数の実行 repl>repl.home() [object ChromeWindow] #()をつけないとオブジェクトの中身が見れる repl> repl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く