このblogでは、ソースの表示にsyntaxhighlighter - Google Codeというのを使っているのですが、右上に「copy to clipboard」と書いてあるのをご存知でしょうか?
このリンクを押すと、ソースの内容をクリップボードにコピーするのですが、今日firefox3で試したら、きかなくなっていました。
がーん
理由を調べたら、どうもflash 10の仕様変更のようです。
参考:akihiro kamijo: Flash Player 10 のクリップボードに関連する変更
そもそも、このリンクどういう仕組みかというと、javascriptを呼んでいて
・IEだったら、clipboardData.setDataでコピー
・その他のブラウザだったら、flashを実行してコピー
という動作をしています。
なんでこんな面倒なことをしているかというと、IE以外のブラウザでは、javascriptでクリップボードにコピーできないからなんです。
・その他のブラウザだったら、flashを実行してコピーという部分が、今回のflash player の仕様変更で使えなくなってしまったというわけ。
今回のflash player の仕様変更は、flash側で発生したclickイベント内では実行できるようなので、リンクをflashにかえて、flash内からjavascriptを呼ぶように改造すればうまくいきそうです。
と、いうわけでまずは、そんなflashを作ってみました。
copy2clip
実際のsyntaxhighlighterへの埋め込みはまた今度
0 コメント:
コメントを投稿