![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZZGQl4FRYcBNKCJfMxs-kUFOMM5Xo9LgowQbU6D-093Fqq3oeTv3u0cIptN5VOWCujkPHNvCr_kysI4SFZX7IUgFMcotavVlKTZFN6k5sn43jTHfZ9OeaCPZveslXavAzZNTHPRnUidOX/s400/clip.png)
この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 コメント:
コメントを投稿