現在のページのタイトルとURLをMarkdown風のリンクにする(ChromeのAlertダイアログがコピー出来ない問題に対応)

概要

ブログなどを書いていると参照リンクとして他の記事やブログのタイトルとURLを記載したい場合があります。通常は編集ページ→対象の記事でタイトルカット→編集ページでペースト→対象ページでURLカット→編集ページでペースト、のように往復が必要です。このブックマークレットを使用すれば対象のページで一発でタイトルリンク作成ができます。

http://example.com/it.html
<head><title>タイトル</title></head>

* [タイトル](http://example.com/it.html)

使い方準備

下のリンクを開かずにブックマークバーへドラッグしてください。

タイトルリンク

旧バージョン

下は旧バージョンです。(手動でコピーが必要です。最新版のChromeではAlertダイアログのコピーが出来ないのでご利用になれません)

タイトルリンク

モバイル端末の場合

適当にブックマークを作り、下のコードをURLとしてペーストしてください。(手動でダイアログにコピーする必要があります)

javascript:alert(['* [',document.title,'](',document.URL,')'].join(''))

機種によってはダイアログのコピーが出来ないので以下の新バージョンを試してください(自動コピー対応バージョンでエス)

javascript:_cp_=document.createElement(%27textarea%27);_cp_.innerText=(%5B%27* %5B%27,document.title,%27%5D(%27,document.URL,%27)%27%5D.join(%27%27));document.body.appendChild(_cp_);_cp_.select();document.execCommand(%27copy%27);document.body.removeChild(_cp_);alert(%27COPIED:%27+_cp_.innerText);_cp_=null

使い方

リンクを作りたいページで上記のブックマークを選択します。自動的にクリップボードコピーされダイアログで結果がでます。

旧バージョンの場合は表示されたダイアログの内容を手動でコピーしてください。

ChromeのAlertダイアログがコピー出来ない問題について

もともとこのブックマークレットはMarkdownのリンクをAlertダイアログで表示してそれをクリップボードにコピーできるといったものでしたが、Chromeの最新版ではAlertダイアログのクリップボードへのコピーが出来なくなってしまいましたので、それに対応しました。

具体的には、Javascriptから直接テキストをコピーすることはセキュリティ的に禁じられているので以下の手順を踏む必要があります。

  1. textarea=documen.createElement('textarea')
  2. document.appendChild(textarea)で上記を現在のページに追加
  3. textarea.innerText=でコピーしたいテキストを代入
  4. textarea.select()で選択
  5. document.execCommand('copy')

この記事を見た人がよく読んでいる記事

トップページ

節約テクノロジ > 現在のページのタイトルとURLをMarkdown風のリンクにする(ChromeのAlertダイアログがコピー出来ない問題に対応)