Google bookmarksの登録ブックマークレットを作る 第2回
先日作ったブックマーク(id:ky2009:20080919)ですが、firefoxだと登録画面は新しいタブに遷移します。
やっぱり、はてなブックマークのようにポップアップが出るように作りたいと思います。
その後、探してみるとオフィシャルのブックマークレットがあったようです。
Google Bookmarks FAQ
http://googlesystem.blogspot.com/2007/03/google-bookmarks-faq.html
javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
これを見る限り、ブックマークレットの作り方として、できる限り短く作った方がいいと感じました。
手を加えたブックマークレット
こちらが今回少し手を加えてみたものです。
javascript:(function(){var%20de=document.getElementsByName('description');if(de[0]){m=de[0].content;}else{m="";}var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.co.jp/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title)+'&annotation='+c(m),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();
文字数は約480になりました。
javascript:( function(){ var de=document.getElementsByName('description'); if(de[0]){ m=de[0].content; }else{ m=""; } var a=window, b=document, c=encodeURIComponent, d=a.open("http://www.google.co.jp/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location) +"&title="+c(b.title) +'&annotation='+c(m), "bkmk_popup", "left="+((a.screenX||a.screenLeft)+10)+", top="+((a.screenY||a.screenTop)+10)+", height=420px, width=550px, resizable=1, alwaysRaised=1 "); a.setTimeout(function(){d.focus()},300) } )();
前回と特徴的に違うのは、関数化したところでしょうか。
あとは、opの属性が"add"から"edit"変わったり、"output=popup"のオプションが追加されました。
"popup"属性がポップアップの要因だと思われます。
これらについてはもう少し調べてみたいと思います。
あとは、タグ(ラベル)入力もある程度補助してみたいのですが、今のところmetaタグkeywordあたりで考えています。