Make Linkを1クリックにしたらFirefox以外でも便利なMake Linkになった

「Make Link」はとても便利でよく使っているが、あまりによく使うので操作のステップの多さがわずらわしい。

Make Linkの説明は以下。

Firefoxにインストールした「Make Link」を呼び出す操作は、ブラウザの表示領域で右クリック→「Make Link」を選択→書式を選択、という3手順である。

f:id:Imamura:20141002125536p:plain

Make Linkはとてもよく使うので、この操作を減らせないかと考えた。

Make Linkを使えないブラウザ向けに、ブックマークレットJavaScriptで同様の機能を実現する方法がある。

ここで作ったブックマークレットは2つ。

「■ページタイトル《改行》URL」になる書式は以下。

javascript:(function(){var%20ele=document.createElement('textarea');ele.style.width='100%';ele.value='%E2%96%A0'+document.title+'\n'+location.href+'';document.body.insertBefore(ele,document.body.firstChild);ele.focus();ele.select();ele.ondblclick=function(){ele.parentNode.removeChild(ele);};ele.oncopy=function(){setTimeout(function(){ele.parentNode.removeChild(ele);},1);return%20true;}})()

IEだと冒頭の「■」(「'%E2%96%A0'」の部分)が文字化けするのでそこだけ修正して下のように。

javascript:(function(){var%20ele=document.createElement('textarea');ele.style.width='100%';ele.value='■'+document.title+'\n'+location.href+'';document.body.insertBefore(ele,document.body.firstChild);ele.focus();ele.select();ele.ondblclick=function(){ele.parentNode.removeChild(ele);};ele.oncopy=function(){setTimeout(function(){ele.parentNode.removeChild(ele);},1);return%20true;}})()

ページタイトルとURLの間の改行を半角スペースにしたい場合はいずれも「'\n'」を「'%20'」にすればよい。

「-ページタイトル(URL[URL:bookmark])」という書式は以下。

javascript:(function(){var%20ele=document.createElement('textarea');ele.style.width='100%';ele.value='-'+document.title+'%EF%BC%88'+location.href+'['+location.href+':bookmark]%EF%BC%89';document.body.insertBefore(ele,document.body.firstChild);ele.focus();ele.select();ele.ondblclick=function(){ele.parentNode.removeChild(ele);};ele.oncopy=function(){setTimeout(function(){ele.parentNode.removeChild(ele);},1);return%20true;}})()

IEではやはり「(」と「)」が文字化けするので以下のように。

javascript:(function(){var%20ele=document.createElement('textarea');ele.style.width='100%';ele.value='-'+document.title+'('+location.href+'['+location.href+':bookmark])';document.body.insertBefore(ele,document.body.firstChild);ele.focus();ele.select();ele.ondblclick=function(){ele.parentNode.removeChild(ele);};ele.oncopy=function(){setTimeout(function(){ele.parentNode.removeChild(ele);},1);return%20true;}})()

ブックマークレットを起動するとページ最上部にテキスト領域が挿入され、指定した書式のページタイトルやURLが入れられる。テキストは選択済みであり[Ctrl]+[C]などでコピーすればテキスト領域は非表示となる。

f:id:Imamura:20141002123916p:plain

つまりブックマークをクリックしたらコピーするだけでよい。ブックマークレットをブラウザのツールバーに置いておけば、「お気に入り」メニューをクリックする手順を省略できるからクリック→コピーで操作は完了する。すばらしい。

Safariでは別のブックマークレットを利用

MacSafariは上のブックマークレットが使えない。代わりを探してみた。

ここで紹介されているブックマークレットを修正させてもらった。

「■ページタイトル《改行》URL」の書式は以下。改行を半角スペースにするには「'\n'」を「'%20'」にすればいいはず。

javascript:var%20ret=window.prompt('%E3%81%93%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%B8%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF','■'+document.title+'\n'+location.href);

「-ページタイトル(URL[URL:bookmark])」の書式は以下。

javascript:var%20ret=window.prompt('%E3%81%93%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%B8%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF','-'+document.title+'('+location.href+'%5b'+location.href+'%3abookmark%5d)');

これだとブックマークを選択→ポップアップウィンドウが表示されるので[command]+[C]→[return]もしくは[esc]という手順になる。

f:id:Imamura:20140930150055p:plain

最初のブックマークレットと比べると操作がひとつ増えるのと、[esc]キーや[return]キーは指がちょっと遠いのがややつらいが、手順を踏めばクリップボードに任意の書式でタイトルやURLが入るのは便利だ。

関連

Firefoxのブックマークをキーボードから素早く呼び出す方法。これはブックマークレットにも使えるので、[Ctrl]+[L](アドレスバーをアクティブに)→登録したキーワードを入力→[Enter]→[Ctrl]+[C]という操作で、指定した書式がクリップボードに入るようになる。

あとSafariでは、ブックマークバー(正式名称は「お気に入りバー」)のブックマークは左端から9つめまで、[⌘command]+[1]、[⌘command]+[2]…[⌘command]+[9]というショートカットキーで呼び出せる。

f:id:Imamura:20140922151946p:plain

さらに余談。ページのタイトルをクリップボードに入れたいときはMake Linkを使うまでもなく、「お気に入り」に入れるふりをするとよい。

SafariでMake LinkするExtension

参考に、以下のようなSafari Extensionもある。ただし自分の使い方では思うような書式を作れなかった。

これは改行を含む書式を登録できなかった。「■タイトル《改行》URL」という書式は作れない。

これは「%url%」が複数回登場するとき、2つめ以降が展開されない。「-タイトル(URL[URL:bookmark])」という書式を作れない。

そのほかSafari向けの「Make Link」というExtensionも見つかったが今のSafariでは使えないようだった。

9月30日記)