JavaScript > JavaScriptでJashの処理をインターセプトして、Lingrやtwitterに投稿する

2008年01月14日

ブラウザ上でJavaScriptが実行出来るコンソールが使えるJash: JavaScript Shell というブックマークレットがあるのですが、そのJashで上で実行した結果をtwitterや、Lingrへ投稿するブックマークレットを作成しました。

明日開催されるKanasan.JS JavaScript第5版読書会#2 & 懇親会 - Kanasan.JS : JavaScript Workshop in Kansai | Google グループ で使う予定です。

ブックマークレットの詳細は以下のリンクに記載しました。
Jashture - labs.37to.net

JavaScriptの既存メソッドをインターセプトする

今回のブックマークレットを作成するに当たり、Jashのメソッドをインターセプトする必要があったのですが、下記のリンクを参考に実装しました。
JavaScriptでインターセプト - うなの日記

仕組みとしては単純で、クロージャーを使って、Jashのメソッドをコピーした後、既存のメソッドを上書き、上書きした処理内で、コピーしたメソッドをapplyを使って実行しているだけです。 以下がサンプルコード。

    var foo = {
        str : 'bar',
        bar : function( text ){
            alert( text + this.str );
        }
    }
    
   
    (function(){
    var _bar = foo.bar;
    
    foo.bar = function(){
        _bar.apply( this, arguments );
        alert( 'intercept' );
    }
    })()

これで合っているのか分かりませんが、多分大丈夫みたいです。

本当はもう少し作成したブックマークレットの仕組みも書いていたのですが、途中でOSが落ちて消えてしまいました。時間があれば、また書きます。

posted by 37to at : 00:21 | コメント (0) | トラックバック (0)

コメント

この記事に対するコメントはまだありません。


投稿する

投稿者情報を保存しますか?


トラックバック

トラックバックURI


一覧

この記事に対するトラックバックはまだありません。