clipboardData
は、さまざまな潜在的な形式のデータを含むことができます。その可能なプログラムは、複数のフォーマットでクリップボードデータを追加します。フォーマットを調べるには、clipboardData.types
を見てください。
多くの場合、クリップボードのデータにはプレーンテキストが含まれ、types
にリストされている最初のタイプはMIMEタイプ「text/plain」になります。ブラウザからテキストをコピーすると、「text/plain」と「text/html」という2つのタイプがリストに表示されます。 getData
に渡す文字列に応じて、プレーンテキストまたはhtmlを取得できます。 「text」は「text/plain」の略語であり、「url」は「text/uri-list」の略語であるようです。 the ugly specを参照して、clipboardData.getData
の使用方法の詳細については
element.addEventListener('paste', function(event) {
var cb = event.clipboardData
if(cb.types.indexOf("text/html") != -1) { // contains html
var pastedContent = cb.getData("text/html")
} else if(cb.types.indexOf("text/html") != -1) { // contains text
var pastedContent = cb.getData("text/html")
} else {
var pastedContent = cb.getData(cb.types[0]) // get whatever it has
}
// do something with pastedContent
})
。
私が知る限り、この解決策ではクリップボードにコピーできますが、クリップボードからはコピーできません。したがって、これは全く問題の提案の解決策ではありません - 私はそれがなぜマークされたのかわかりません(OPが混乱しない限り)。私が間違っている場合、説明してください! – bgmCoder