2012年01月13日


bit.ly のブックマーレットを開けて見てみると、『tumblr』のを転用してました

解りやすく整形しましたが、元々"tumblrzzz" は、"tumblr" なので、そこは絶対一致
しないように変更されています。というか、そこは必要無いのですが、オリジナルを
崩さずに使えるようにしたみたいです。

結局、w.open で url と 選択した部分をパラメータで渡すという良くできた処理にな
っています。( 失敗すると、l.href=u で表示ページの変更 )

これは、ブックマークレットの雛型として優秀なもので、ページ上で選択した部分を
encodeURIComponent でエンコードして他のページに渡す為の処理です。結局 bit.ly
では、表示しているページの URL を渡していますが、必要に応じてどんな情報でも
GET コマンドで渡す事ができます。

覚えておくとどこかで必ず使えていいと思います。
var d=document;
var w=window;
var enc=encodeURIComponent;
var e=w.getSelection;
var k=d.getSelection;
var x=d.selection;
var s=(e?e():(k)?k():(x?x.createRange().text:0));
var s2=((s.toString()=='')?s:('%22'+enc(s)+'%22'));
var f='http://bit.ly/';
var l=d.location;
var p='?v=3&u='+enc(l.href) +'&s='+enc(d.title)+'%20'+s2;
var u=f+p;
try{
	if(!/^(.*\.)?tumblrzzz[^.]*$/.test(l.host))
		throw(0);
		tstbklt();
}
catch(z){
	a =function(){
		if(!w.open(u))
			l.href=u;
	};
	if(/Firefox/.test(navigator.userAgent))
		setTimeout(a,0);
	else
		a();
}


単純に選択部分を転送するブックマークレット

javascript:var%20d=document,w=window,enc=encodeURIComponent,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),s2=((s.toString()=='')?s:(enc(s))),f='http://winofsql.jp/sel.php',l=d.location,p='?s='+s2,u=f+p;try{if(!/^(.*\.)?tumblrzzz[^.]*$/.test(l.host))throw(0);tstbklt();}catch(z){a%20=function(){if(!w.open(u))l.href=u;};if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else%20a();}void(0)


posted by at 2012-01-13 23:19 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする
SQLの窓全体の検索
Loading
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。