簡體   English   中英

HTML5和JavaScript:如何使粘貼處理完全/更異步?

[英]HTML5 and JavaScript: How do I make paste handling fully/more asynchronous?

我正在使用ClipboardData API將復制粘貼功能實現到瀏覽器應用程序中, 如本答案中所述。

FileReader::readAsDataURL(blob)提供了對文件數據的異步讀取,這很棒。

var items = (event.clipboardData || event.originalEvent.clipboardData).items;
var reader = new FileReader();
reader.onload = function(event){
   /*add item (i.e. image) to page*/}; //callback

var blob = items[0].getAsFile(); //not async
reader.readAsDataURL(blob); //async

問題:
1)有沒有辦法使DataTransferItem::getAsFile()方法異步?
2)有沒有辦法讓FileReaderDataTransferItem作為一個參數,這樣它可以像blob一樣執行async本身?
3)我運氣不好嗎?

有沒有辦法使DataTransferItem :: getAsFile()方法異步?

不, 它被指定為同步。 但是,絕對沒有理由使這種異步 - 對文件的引用很快被構造,並且不包含任何數據挖掘。 就像input.files同步地獲取對尚未讀入的文件的引用一樣。

有沒有辦法讓FileReaderDataTransferItem作為一個參數,以便它可以像blob一樣執行異步本身?

不。它只需要item.getAsFile() blob,並且可以異步讀取它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM