Flash Player 10 ではシステムのクリップボードアクセスに関して以下の変更が行われます。
System.setClipboard()
まず、System.setClipboard() の使用が制限されます。いままでは任意のタイミングで呼び出すことができましたが、Flash Player 10 からはマウスクリック等のユーザインタラクションによるイベントからのみ実行することができます。
これは、最近報告されたクリップボードアタックに対応するための変更です。既存のコンテンツで System.setClipboard() を利用している場合は変更が必要になるかもしれません。ご確認ください。
Clipboard クラス
Flash Player 10 からはいままで AIR アプリケーション専用だった Clipboard クラスが使えるようになります。これにより Flash アプリケーションからもフォーマットを指定してのデータ書き込みやクリップボードからのデータ読み込みができるようになります。
Clipboard クラスを使ってシステムのクリップボードにデータを書くには Clipboard.generalClipboard.setData() や Clipboard.generalClipboard.setDataHandler() メソッドを利用します。これらのメソッドは System.setClipboard() と同様にユーザインタラクションのイベント内からのみ呼び出し可能です。
クリップボードからデータを読むには Clipboard.generalClipboard.getData() メソッドを使用します。このメソッドは flash.events.Event.PASTE のイベントハンドラからのみ呼び出すことができます。
Flash アプリケーションから Clipboard クラスを利用した場合、利用できるフォーマットは、
- HTML_FORMAT: HTML フォーマットの文字列
- TEXT_FORMAT: 文字列
- RICH_TEXT_FORMAT: RTF のデータを含む ByteArray
の 3 つです。BITMAP_FORMAT、FILE_LIST_FORMAT、URL_FORMAT は利用できません。
コメントする