js處理粘貼板內(nèi)容

e是粘貼事件

var data=e.clipboardData||window.clipboardData;
var len = data.items.length;
var itemType = data.items[0].type;
var kind = data.items[0].kind;

var text = data.getData('text');


1.粘貼的是文字
data.items  長(zhǎng)度為1
data.items[0].kind  值為'string'
data.items[0].type  值為'text/plain'
data.getData('text') 值為文字內(nèi)容
2.粘貼的是截圖
data.items  長(zhǎng)度為1
data.items[0].kind  值為'file'
data.items[0].type  值為'image/png|*'
data.getData('text') 值為空
3.粘貼的是從文件夾中復(fù)制來(lái)的文件
data.items  長(zhǎng)度為2
data.items[0].kind  值為'string'
data.items[0].type  值為'text/plain',內(nèi)容是文件名
data.items[1].kind  值為'file'
data.items[0].type  值為'image/png|*',奇怪的是試驗(yàn)中任何類型的文件都顯示image
data.getData('text') 值為文件名

看一下我們最終的實(shí)現(xiàn):

if (data.items.length==1) {
    var item = data.items[0];
    var itemType = item.type;
    var kind = item.kind;
    // ele[i].kind == 'file' && ele[i].type.indexOf('image/') !== -1
    if (kind == 'file' && itemType.indexOf('image/')!==-1) {
        console.log('這是截圖')
        var blob = item.getAsFile();
        console.log(blob);

        var reader=new FileReader();
        reader.readAsDataURL(blob);

        //文件讀取完成時(shí)觸發(fā)
        reader.onload=function(event){
            //獲取base64流
            var base64_str=event.target.result;
            //div中的img標(biāo)簽src屬性賦值,可以直接展示圖片
            $("#imageview").attr("src",base64_str);
            //顯示div
            $("#imageview").css("display","block");
            //隱藏輸入文字的div
            $("#imageview").next().css("display","none");
        }

    };

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容