一、如果只考慮IE瀏覽器,可以直接用原聲js實現
if(window.clipboardData){
//清空操作系統粘貼板
window.clipboardData.clearData();
//將需要復制的內容復制到操作系統粘貼板
window.clipboardData.setData("Text", "要復制的內容");
}
二、如果是其他瀏覽器,上面的辦法行不通,其他瀏覽器出於安全的考慮禁止js訪問操作系統粘貼板。
這里需要用到插件,網上流行的插件有兩種,一種是ZeroClipboard.js,一種是clipboard.js。
插件下載地址:https://zenorocha.github.io
1.用ZeroClipboard.js插件需要用到以下三個文件:
ZeroClipboard.js
ZeroClipboard.min.js
ZeroClipboard.swf
這個插件需要瀏覽器的flash控件支持,復制時先把內容復制到flash里面,再利用flash將內容復制到
操作系統。flash控件又被淘汰的可能,有些瀏覽器上兼容得也不太好,所以這個插件不太好用。
2.用clipboard.js插件需要用到以下一個文件:
clipboard.min.js
執行復制功能的html標簽上需要加上一個屬性和一個樣式,屬性data-clipboard-text的值表示要復制的內容,
樣式js-copy表示該標簽被綁定上點擊復制的功能,在點擊該標簽時觸發復制功能。
該插件兼容IE、谷歌、火狐等瀏覽器。
js示例代碼如下:
$("span").each(function(index,element){if(element.innerHTML=="復制")new Clipboard($(element).parent().attr("data-clipboard-text",Ext.fly(html).dom.innerText).addClass("js-copy")[0]);});
