PS:初步發現是瀏覽器相容問題,只有IE支援clipboardData,那麼問題來了,有沒有更優的方法?
問題闡述:
global.html裡有一個「id=biao1」的iframe,現欲透過js抽取iframe中p標籤的文字內容並複製到剪貼簿,本例欲採用clipboardData.setData方法並出現如下報錯訊息,請大牛指點。
報錯訊息:
zhiliangbaobiao.js:8 Uncaught TypeError: Cannot read property 'setData' of undefined
at copysql1 (zhiliangbaobiao.js:8)
at HTMLInputElement.onclick (global.html:172)
global.html 主要原始碼
<iframe id="biao1" src="test00.html" frameborder="0" style="width:100%;height:100%;"></iframe>
<input class="btn btn-success" onclick="copysql1()" value="点击复制代码" 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);
用flash或直接讓使用者手動複製。
可以使用 clipboard.js 這個類別庫(注意瀏覽器相容性)或直接上 Flash。