A Day in the Life

Firefox でクリップボードに値をセットする関数を作るワンライナ

タイトルママ。Firefox で firebug つかってる時に結果をクリップボードに入れたい!firebug のコンソールをコピペすると改行が無くなってレイアウトが乱れる!というか setClipboard(scg.generate()) したい!と思ったのでおもむろに setClipboard() をワンライナ実装してみました。
追記・Firebug には copy というクリップボードに入れる便利 API があることを id:nitoyon さんに教えて貰いました。なんだってー!

javascript:(function(){var B=document.createElement("object");document.body.appendChild(B);var A=document.createElement("param");A.setAttribute("name","allowScriptAccess");A.setAttribute("value","always");B.appendChild(A);B.setAttribute("data","http://svn.coderepos.org/share/lang/actionscript/set_clipboard/SetClipboard.swf");B.setAttribute("type","application/x-shockwave-flash");setClipboard=function(C){B.setClipboard(C)}})()

実装は setClipboard を ExternalInterface で登録した swf ファイルを読み込んで適当に関数定義してるだけという。IE で試したら動きませんでした。深追いはしてません(IE はブラウザネイティブ実装あるからいらないし)。
もっと良い方法で、swf を base64 エンコードして読み込んで外部の swf に依存しない、というカッチョヨイ方法はすでに mala がやっているのですが、http://la.ma.la/misc/js/setclipboard.txt がうちの Firefox 2.0 + FlashPlayer 9 だとうまく動かなかったのと、もうちょい短くしてみたかったので、と言い訳。

ソース

記事の一覧 >