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
一覧
この記事に対するトラックバックはまだありません。

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