MyShortcutsのメモにクリップボードの内容で変化するリンクを作る

MyShortcutsのメモで使われるJavaScriptではクリップボードの文字列を表すCLIPBOARD変数と、それをURLエンコードしたENCCLIPBOARD変数が使えます*1
14.10.13 11:00追記:さらにリンク中のURLに_Q_を指定するとURLエンコードされたクリップボード文字列に変換されるそうです。下の例も大きく修正しました。)

MyShortcuts+Viewer

MyShortcuts+Viewer

  • Takeyoshi Nakayama
  • ユーティリティ
  • ¥120

例えば、クリップボードの文字列をHTMLに表示する*2には次のように指定します。

<span id="clipboardText"></span><br/>
<script>
document.getElementById('clipboardText').innerText=CLIPBOARD;
</script>

▶︎MyShortcutsのメモに追加

直接表示だけでなくリンクを変化させることにも使えます。以下、思いつくままに例を挙げてみました。

例:クリップボード文字列を本文とするメールを新規作成するリンク

<a href="mailto:?body=_Q_">📝メール</a><br/>

▶︎MyShortcutsのメモに追加

例:クリップボード文字列をググるリンク

遷移先にhttp://〜やhttps://〜を指定してもSafariは開けず、代わりにsafarihttp://〜またはsafarihttps://〜を使います(14.10.13 11:00修正)。他のブラウザの場合はURLスキーム部分を変更して下さい。

<a href="safarihttps://www.google.com/search?q=_Q_">📝Google</a><br/>

▶︎MyShortcutsのメモに追加

例:「クリップボードのURLをSafariで開くリンク」をクリックボードの文字列がhttp:またはhttps:で始まるときのみ表示

上に同じく、SafariはURLスキームがsafarihttp:またはsafarihttps:を指定します。

<a id="openInSafari" href="javascript:location='safarihttp'+CLIPBOARD.substring(4);">📝Safari</a><br/>
<script>
if(!/^https?:/.test(CLIPBOARD)){
  document.getElementById('openInSafari').style.display='none';
}
</script>

▶︎MyShortcutsのメモに追加


繰り返しになりますがクリップボードのデータの取り扱いにはご注意を。

14.10.13 11:30追記
クリップボードの内容で開くアプリを変えられる神スクリプトmndksがMyShortcutsのメモに対応されたそうです。間に他のアプリを挟まないので、移動が光の速さになりました。

*1:クリップボード内容の漏洩を防ぐため、メモを外部から取り込む場合は信頼のある出処であるかを確認し、取り扱いに十分注意して下さい。

*2:コピーしたパスワードなど重要な情報が表示されないよう注意して下さい。