タグ

ブックマーク / d.hatena.ne.jp/lurker (5)

  • Greasemonkeyで永続的に外部スクリプトを利用する - 技術メモ帳

    GM_setValue / GM_getValue + unsafeWindow.eval を使って 永続的に外部スクリプトを利用する方法を考えてみた。 わざわざ DOM で script要素 を毎回注入するよりも 速いんじゃないかと思う。 Greasemonkeyには、GM_setValue / GM_getValue というのがあって、 GM_setValue("キー", "値") 上記のように入力してあげる事によって、たとえ、 Firefoxを終了させたとしても消えないデータを作成する事が出来る。 そして、それを利用して、 初回のみ XmlHttpRequest で外部スクリプトデータを取得して、 GM_setValue でスクリプトデータを永続化しておき、 二回目以降は、それを GM_getValue して eval するようにした。 以下は、永続的に prototype.js を

    facet
    facet 2006/09/24
    GM_setValue, GM_getValue, unsafeWindow.eval
  • ページの閲覧者にGreasemonkeyを使用させない方法 - 技術メモ帳

    Greasemonkeyのソースを読んでて見つけたのだが どうも Greasemonkey は、 URLが 'hiddenWindow.html' で終わってるページには スクリプトを適用しないらしい。 したがって、それを利用することによって 閲覧者が Greasemonkey スクリプトを 使用できないようにする事が出来る。 試しに作ってみた。 以下のページでは Greasemonkey スクリプトを使えないはず。 http://gomibako.hahaue.com/test/hiddenWindow.html

    facet
    facet 2006/09/05
    へえ。
  • Firebug に自作関数を組み込む方法 - 技術メモ帳

    外部スクリプトをロードする関数を毎回書くのが面倒で、 Firebugの組み込み関数にしたら便利なんじゃないかと思って、 loadJS という名前で Firebug に組み込んでみた。 結論から言うと、 /chrome/content/firebug/commandLineAPI.js を編集したら、任意の関数を定義できた。 以下に、手順を書いてみる。 まず、ソースでもある Firebug拡張をダウンロードする。 http://releases.mozilla.org/pub/mozilla.org/extensions/firebug/firebug-0.4-fx+fl.xpi xpi は、実際にはただの zip ファイルなので、 unzip コマンドで解凍できる。 ./$ unzip firebug-0.4-fx+fl.xpi Archive: firebug-0.4-fx+fl.xpi

    facet
    facet 2006/08/11
    commandLineAPI.js | xpi,jar -> unzip/zip | FireBugUtils[*]
  • Javascriptでポートスキャン - 技術メモ帳

    ITMediaの記事が抽象的すぎて原理がわからなかったので、 BlackHat のやつのソースを斜め読みしてみた。 僕はいつも適当なので、間違いがあるかもしれません。 http://www.spidynamics.com/spilabs/js-port-scan/ http://japan.cnet.com/news/sec/story/0,2000056024,20185667,00.htm 簡単にまとめさせていただくと、 IFrame と Image#src により 任意のIPアドレスにアクセスさせ、 特定のタイムアウト時間(ハードコーディング/マジックナンバー) が 過ぎたらそのホストは生きていない判定をしている。 これは、Firebug で試してみたらなんとなく体感。 (new Image()).src = "http://IPアドレス"; としたときに、当に存在すると 一瞬だが

  • Firebugの便利な組み込み関数 - 技術メモ帳

    id:brazil さんのブックマークで知ったのだが、 Firebugには、便利な組み込み関数が定義されているようだ。 一通りさわってみたのだが、 $x() で 任意のXPath要素が取得できるのとかに感動した。 そして、やっぱりちゃんとドキュメント読むべきだなぁと思った。 XPathから要素を取得する。 $x("/html/body/h1"); -> 要素の配列が返ってくる。 selector名から要素を取得する。(getElementsByTagName) $$("h1") -> 要素の配列 所要時間測定 console#time, console#timeEnd time ~ timeEnd で囲んだ部分の所要時間を 計測することが出来るみたいで、 以下のような関数にまとめると良さそうだ。 function bench( callback ) { var uniq_id = Date

  • 1