※改良版を作ったのでそちらを使ったほうが便利です。
Google Chrome で使う Make Link の代用ブックマークレット vol.3
Google Chrome で使う Make Link の代用ブックマークレット の記事で書いたブックマークレットですが、この記事に頂いたトラックバックに書かれているブックマークレットの方がはるかにいいので乗り換え。
ぺってぃブログ : Google Chrome用 MakeLink っぽいブックマークレット
いい所
前回書いたブックマークレットの不満な点は2点。
- クリップボードに直接コピーできるようにしたい。
- 掃き出すタグが複数行の場合に対応できるようにしたい。
複数行は解決。クリップボードへのコピーは解決してないにしてもほぼストレスを感じない。
処理解析
処理内容は以下。
var ele = document.createElement("textarea"); ele.style.width = "100%"; ele.value ='<a href="'+window.location.href+'">'+document.title+'</a>'; document.body.insertBefore(ele,document.body.firstChild); ele.focus(); ele.select(); ele.ondblclick = function(){ele.parentNode.removeChild(ele);
【1行目~3行目】
textarea を生成してその中にタグを書き込んでいるので複数行に対応できる。
【4行目】
body タグの一番上に生成した textarea を挿入。
【5行目~6行目】
textarea 内にフォーカスを当て、文字を選択する。
※これで右手はブックマークレットをクリック、左手はショートカットキーを使うのでほぼ1アクションでコピーできる。
【7行目】
ダブルクリックのイベントを受け取ると textarea のタグを消去。
※ページの先頭に挿入されるのでページ閲覧には邪魔にならず、無理に消去する必要は感じない。
前回はど真ん中にポップアップが出ていたので消さないと邪魔。
ブックマークレット
Make Link
ドラッグ&ドロップでブックマークのツールバーまで持っていけばOK。
javascript:(function(){var%20ele=document.createElement("textarea");ele.style.width="100%";ele.value='<a%20href="'+location.href+'">'+document.title+'</a>';document.body.insertBefore(ele,document.body.firstChild);ele.focus();ele.select();ele.ondblclick=function(){ele.parentNode.removeChild(ele);}})()
トラックバック先のブックマークレットでまったく問題ないけど、個人的にブックマークレットに空白を入れると見づらいの不要な部分を削除。
トラックバック一覧
この記事にはトラックバックがついていません。