ブラウザはpasteイベントを監視すると、ペーストされてきた情報を参照できます。
DataTransferItemというオブジェクトから取得できます。
各種のサービスやアプリケーションがどういった情報をクリップボードに保存しているのか確認しやすくするためにCodepenを作りました。
See the Pen Show Pasted data by shigeru.nakajima (@ledsun) on CodePen.
よくあるのはtext/planとtext/htmlを保存してあるパターンです。
ブラウザやSlackアプリケーションはこれだけ保存しているようです。
他のアプリケーションはそれぞれ異なる形式で保存しています。
- Windowsターミナルは
text/planだけ - スクリーンショットは
image/pngだけ - VSCodeは
text/planとtext/htmlに加えvscode-editor-data形式の情報も保存しています。用途はわかりません。 - Googleドキュメントは
text/planとtext/htmlとapplication/x-vnd.google-docs-document-slice-clip+wrapped - Googleスプレッドシートは
text/planとtext/htmlとapplication/x-vnd.google-docs-embedded-grid_range_clip+wrapped - マイクロソフトWordは
text/planとtext/htmlとtext/rtf - Excelは
image/pngとtext/rtf
あまり定石はないようです。