メモ書きがSafari内で完結する。
Googleの検索結果とか、選びたいのに選べない。別にプロテクトしてるんじゃなくて、たまたまコードがそうなってるみたい。でも不便ですよね。そんなとき、強制的に選択可能にするブックマークレットがあればな...
Webページを編集可能にしてしまう魔法の呪文、contentEditable。コピペがしやすくなるのは良いんですが、それ以外は使えない。イタズラ書きするくらいのものです。でも、それだけではもったいなあ。ってことで、メモ帳を作ることにしました。ネット上の情報を貼り付けておくクリップボードのイメージ。作業領域をSafari上に作る。
javascript:editor="draftpad://insert?after=<@>";text="data:text/html;charset=UTF-8,<meta name=viewport content=initial-scale=1><title>ClipNote</title><body contenteditable=true><a href="+encodeURI(location.href)+" target=_blank>"+encodeURI(document.title)+"</a><br>・<script>document.body.ongesturechange=function(){text=document.body.innerHTML;text=text.replace(/<script>(.+)<\\/script>/g,'').replace(/<div>(.+?)<\\/div>/g,'\\n$1').replace(/<(p|span) (.+?)>/g,'').replace(/<\\/(p|span)>/g,'').replace(/<br>/g,'\\n');location.href='"+editor+"'.replace(/<@>/,encodeURIComponent(text));}</script></body>";window.open(text,"_blank");
ブックマークレットをSafariで実行すると、新しいページが開きます。これがメモ帳として使える。画面をタップするとキーボードが立ち上がり、文章を書き込むことが出来ます。
他のサイトからコピペすると、タグを内蔵したままペーストします。リンクがあれば、リンクが埋め込まれている。テーブルなら、テーブルタグが付く。色関係の情報は落ちてしまうけれど、それ以外はおおむね同じスタイルのまま貼り付きます。
そして、二本指でスワイプ。デフォルトではDraftPadに転送するようにしました。ブックマークレット内の最初にあるeditor変数が転送先です。<@>の部分がClipNote本文と入れ替わります。転送されるとClipNote自体は消去されるようになっています。
アイデア先行のスクリプトなので、まだ使い込んでいません。ただ、二つのページ間でコピペするとき、必要な部分だけ取り出すのに便利だったので、この方向もありかな。