PS: Es wurde zunächst festgestellt, dass es sich um ein Browserkompatibilitätsproblem handelt. Die Frage ist also, ob es eine bessere Methode gibt.
Erklärung des Problems:
In global.html gibt es einen Iframe mit „id=biao1“. Jetzt möchte ich den Textinhalt des p-Tags über js extrahieren und in die Zwischenablage kopieren. Ich möchte die Methode „clipboardData.setData“ verwenden und die folgende Fehlermeldung wird angezeigt. Bitte geben Sie einige Ratschläge.
Fehlermeldung:
zhiliangbaobiao.js:8 Uncaught TypeError: Cannot read property 'setData' of undefined
at copysql1 (zhiliangbaobiao.js:8)
at HTMLInputElement.onclick (global.html:172)
global.html Hauptquellcode
<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 Hauptquellcode
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。