javascript - 兼容主流瀏覽器前提,如何實(shí)現(xiàn)實(shí)現(xiàn)剪貼板功能,用js。
問題描述
PS:初步發(fā)現(xiàn)是瀏覽器兼容問題,只有IE支持clipboardData,那么問題來了,有沒有更優(yōu)的方法?問題闡述:global.html里有一個(gè)“id=biao1”的iframe,現(xiàn)欲通過js抽取iframe中p標(biāo)簽的文本內(nèi)容并復(fù)制到剪貼板,本例欲采用clipboardData.setData方法并出現(xiàn)如下報(bào)錯(cuò)信息,請(qǐng)大牛指點(diǎn)。
報(bào)錯(cuò)信息:
zhiliangbaobiao.js:8 Uncaught TypeError: Cannot read property ’setData’ of undefinedat copysql1 (zhiliangbaobiao.js:8)at HTMLInputElement.onclick (global.html:172)
global.html 主要源碼
<iframe src='http://www.intensediesel.com/wenda/test00.html' frameborder='0' style='width:100%;height:100%;'></iframe><input onclick='copysql1()' value='點(diǎn)擊復(fù)制代碼' type='button'>
zhiliangbaobiao 主要源碼
var ifr = document.getElementById(’biao1’);var ifrwin = ifr.window || ifr.contentWindow;var temp = ifrwin.document.getElementsByTagName('p').item(0).innerText;window.clipboardData.setData('text',temp);
問題解答
回答1:用flash或者直接讓用戶手動(dòng)復(fù)制。
回答2:可以使用 clipboard.js 這個(gè)類庫(kù)(注意瀏覽器兼容性)或者直接上 Flash。
