Opera9.5以降でURL、タイトルと選択範囲をクリップボードにコピー
<動作内容>選択範囲のテキストと、選択範囲を含むページのURLおよびタイトルを引用タグ(blockquote)で閉じた状態の文字列を、JavaScriptで以下のように整形し、クリップボードにコピーする。
http://my.opera.com/kyu3/blog/2008/06/22/opera-2
を参考に、はてなの引用記法のように、citeとtitle属性を追加してみた。
Go to page, "javascript:window.prompt('',((window.getSelection()+'')?('<blockquote title=\x22'+document.title+'\x22 cite=\x22'+location.href+'\x22>'+window.getSelection()+'\n\t<cite>'):'')+'<a href=\x22'+location.href+'\x22>'+document.title+'</a>'+((window.getSelection()+'')?'</cite>\n</blockquote>':''));" & Delay, 10 & Copy & Cancel
なにも選択してない場合はblockquoteは出ないようにもしてある。
ただ、はてなと使うとciteをリンク化したやつが重複するので、こっちのほうが良いかな。
Go to page, "javascript:window.prompt('',((window.getSelection()+'')?('<blockquote title=\x22'+document.title+'\x22 cite=\x22'+location.href+'\x22>'+window.getSelection()+'\n</blockquote>'):'<a href=\x22'+location.href+'\x22>'+document.title+'</a>'));" & Delay, 10 & Copy & Cancel
これをショートカットの編集で、Application(ここが良いのかはわからない、たぶん良くない!)のところにc shiftで登録してみた。
ついでに、選択範囲をHTMLタグ付きでコピーするバージョン。
Go to page, "javascript:window.prompt('',((window.getSelection()+'')?('<blockquote title=\x22'+document.title+'\x22 cite=\x22'+location.href+'\x22>'+(new XMLSerializer).serializeToString(window.getSelection().getRangeAt(0).cloneContents())+'\n\t<cite>'):'')+'<a href=\x22'+location.href+'\x22>'+document.title+'</a>'+((window.getSelection()+'')?'</cite>\n</blockquote>':''));" & Delay, 10 & Copy & Cancel
選択範囲のHTML化はgetSelection()でHTMLを取り出す - ロックスターになりたいとDOM Elementオブジェクトをテキストダンプしてデバッグ - hogehogeを参考にこんな感じ。
javascript:alert((new XMLSerializer).serializeToString(window.getSelection().getRangeAt(0).cloneContents()));
選択範囲のソースを見るって、ワンライナーでできるんですね。