這兩天在做Web前端時(shí),遇到需求通過js實(shí)現(xiàn)文本復(fù)制的功能。
先不考慮瀏覽器的兼容性,看看各瀏覽器對(duì)復(fù)制功能的支持情況:
1、IE瀏覽器,解決方法有三種,代碼如下:
復(fù)制代碼 代碼如下:
function copy(txtid){
var txtObj = document.getElementById(txtid);
if(window.clipboardData){ // 僅IE支持此對(duì)象,firefox、chrome不支持
//1、通過clipboardData對(duì)象實(shí)現(xiàn)復(fù)制
//window.clipboardData.clearData();
//window.clipboardData.setData("Text",txtObj.value);
//2、通過document對(duì)象實(shí)現(xiàn)復(fù)制:先選擇中文本,再執(zhí)行復(fù)制命令
//txtObj.select();
//document.execCommand("Copy"); // 僅IE支持,F(xiàn)irefox報(bào)語(yǔ)法錯(cuò)誤,chrome執(zhí)行結(jié)果返回false(不支持)
//3、通過TextRange對(duì)象實(shí)現(xiàn)現(xiàn)復(fù)制:可以不用先選中內(nèi)容
txtObj.createTextRange().execCommand("Copy");
}
}
復(fù)制代碼 代碼如下:
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interface.nsIClipboard);
復(fù)制代碼 代碼如下:
var clip = new ZeroClipboard.Client(); // 新建一個(gè)clip對(duì)象
clip.setHandCursor( true ); // 設(shè)置鼠標(biāo)為手型
clip.setText("hello,world"); // 設(shè)置要復(fù)制的文本,可以為文本框的值
clip.glue("copy-botton"); // 為clip注冊(cè)一個(gè)按鈕,參數(shù)為按鈕元素的id,點(diǎn)擊按鈕就可以實(shí)現(xiàn)復(fù)制
新聞熱點(diǎn)
疑難解答
圖片精選