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。