coリ・ー・ン<2nd life

2007 09 28

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

タイトルママFirefoxfirebug つかってる時に結果をクリップボードに入れたい!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ブラウザネイティブ実装あるからいらないし)。

もっと良い方法で、swfbase64 エンコードして読み込んで外部の swf依存しない、というカッチョヨイ方法はすでに mala がやっているのですが、http://la.ma.la/misc/js/setclipboard.txt がうちの Firefox 2.0 + FlashPlayer 9 だとうまく動かなかったのと、もうちょい短くしてみたかったので、と言い訳

ソース

プログラミングRuby 第2版 言語編
Ruby を始めようと思う人から玄人まで身近に置いておきたい一冊
Ruby on Rails入門―優しいRailsの育て方
Rails 入門書の決定版!あのくまくまーの独特な解説ですんなり読める!