特定のデータ フレーバーでバイナリ データをクリップボードに入れることは可能ですか? ハックのある一部のブラウザーでも問題ありません。
この場合、具体的な目標は、Office オブジェクトをコピーすることです。これは、XML およびその他の埋め込みファイルを含む ZIP ファイルであり、データ フレーバーGVML
( Office クリップボード形式)を使用します。
私が見つけた答えは、テキストがテキストであることは間違いなく可能であることを示しています。バイナリに関する投稿はほとんどが画像に関するものであり、これも一種の可能性です。しかし、他のデータフレーバーについては何もわかりません。
アップデート
これは不可能な場合があるようです。次のコードは、Chrome 51、Firefox 46、および Safari 9.0 で実行され、Cmd/Ctrl+C キーボード イベントによってトリガーされます。
- Firefox はテキストと HTML のみをクリップボードにコピーします
- Chromium
<b>Hello binary!</b>
はデータ フレーバーとしてコピーし、テキストにゼロで埋められた 16 進数を埋め込みますorg.chromium.web-custom-data
。custom/binary
<b>Hello binary</b>
Safariはデータフレーバーとしてコピーしdyn.ah62d4rv4gu81k3p2su10e4psqf3hw
、一切含みませんcustom/binary
。
document.addEventListener('copy', function(e){
e.clipboardData.setData('text/plain', 'Hello, world!');
e.clipboardData.setData('text/html', '<b>Hello, html!</b>');
e.clipboardData.setData('custom/binary', '<b>Hello, binary!</b>');
e.preventDefault();
});
上記のコードは、 https://www.w3.org/TR/clipboard-apis/の「例 1」からのものです。
JavaScript でクリップボードにコピーするにはどうすればよいですか?
https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/