2006/08/06

リンク生成 クリップボード ブックマークレット

Blog This!などのブックマークレットを利用すると、今開いているサイトの選択している部分をAタグで整形して、投稿画面の本文部分にリンクを作成してくれます。 ところがコレは今開いているサイトに対してエントリーを書きたい場合に最初の1回だけ有効です。まとめ的なエントリーを書いているといくつものサイトへのリンクを貼りたくなります。 そこで、<a href="見ているサイトのURL">選択しているテキスト:サイトのタイトル</a>というテキストをクリップボードに貼り付けてくれるブックマークレットを作りました。(Firefox限定) Bloggerの投稿画面でいらんエンコードされてうまく投稿できないため、外部に置きました。 クリップボードへコピー :http://knyijong.googlepages.com/copy2clipbord.html 参考:最速インターフェース研究会 :: Firefoxでテキストをクリップボードにコピーする方法
javascript:
(function(text){
 var url = [
  'data:text/html;charset=utf-8;base64,PGJvZHk+PC9ib2',
  'R5PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKGZ1',
  'bmN0aW9uKGVuY29kZWQpe3ZhciBzd2ZfZGF0YSA9IFsKICdkYX',
  'RhOmFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoO2Jhc2U2',
  'NCxRMWRUQjJ3JywKICdBQUFCNG5EUGdZbGpBd01qSTRNejAlMk',
  'YlMkY5JTJGZTJaZkJnYUdhV3dNRE1uNUthJywKICdrTU10TjRH',
  'ZGdaZ1NJTXdaWEZKYW01UUFFJTJCQm9iaTFCTG5uTXlDcFB6RW',
  '9oU0dJJywKICdQRnAlMkZBeHNEREJRa3BGWkRGUUZGQ2d1eVM4',
  'QXlqSTRBRVVCaXkwVndBJTNEJTNEJwpdLmpvaW4oIiIpOwpkb2',
  'N1bWVudC5ib2R5LmlubmVySFRNTCA9IFsKICc8ZW1iZWQgc3Jj',
  'PSInLHN3Zl9kYXRhLCciICcsCiAnRmxhc2hWYXJzPSJjb2RlPS',
  'csZW5jb2RlZCwnIj4nLAogJzwvZW1iZWQ+JwpdLmpvaW4oIiIp',
  'Owp9KSgi',btoa(encodeURIComponent(text)+'")</'+'script>')
 ].join("");
 var tmp = document.createElement("div");
 tmp.innerHTML = '<iframe src="'+url+'" width="0" height="0"></iframe>';
 with(tmp.style){
  position ="absolute";
  left = "-10px";
  top  = "-10px";
  visibility = "hidden";
 };
 document.body.appendChild(tmp);
 setTimeout(function(){document.body.removeChild(tmp)},1000);
})(
 (function() {
  var a=[];
  if(window.getSelection()!='')a.push(window.getSelection());
  a.push((document.title!='')?document.title:location.href);
  return ['<a href="', location.href, '">', a.join(':'), '</a>'].join('');
 })()
);
正直こんなクソ長いコードがブックマークに登録できたのに一番驚きました。 ※このエントリー上のリンクはこのブックマークレットで生成してみました。