clipboardData
có thể chứa dữ liệu ở nhiều định dạng tiềm năng khác nhau. Có thể một chương trình của nó sẽ thêm dữ liệu clipboard vào nhiều định dạng. Để xem qua các định dạng, hãy xem qua clipboardData.types
.
Thường thì dữ liệu khay nhớ tạm chứa văn bản thuần túy và loại đầu tiên được liệt kê trong types
sẽ là loại "văn bản/đồng bằng" MIME. Nếu bạn sao chép văn bản từ một trình duyệt tho, bạn sẽ thấy hai loại trong danh sách: "text/plain" và "text/html". Tùy thuộc vào chuỗi bạn chuyển vào getData
, bạn có thể lấy văn bản thuần hoặc html. Có vẻ như "văn bản" là viết tắt của "văn bản/đồng bằng" và "url" là viết tắt của "text/uri-list".
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
})
Để biết thêm thông tin về cách sử dụng clipboardData.getData
, hãy xem the ugly spec.
Nguồn
2015-09-14 20:26:34
Theo như tôi có thể biết, giải pháp này cho phép sao chép vào khay nhớ tạm, nhưng không nhận được TỪ khay nhớ tạm. Do đó, đây không phải là giải pháp cho câu hỏi được đề xuất - tôi không biết tại sao nó được đánh dấu như vậy (trừ khi OP bị nhầm lẫn). Nếu tôi sai, xin hãy giải thích! – bgmCoder