PS: Pada mulanya didapati bahawa ia adalah isu keserasian penyemak imbas Hanya IE menyokong clipboardData Jadi persoalannya, adakah kaedah yang lebih baik?
Penjelasan masalah:
Terdapat iframe dengan "id=biao1" dalam global.html Sekarang saya ingin mengekstrak kandungan teks tag p dalam iframe melalui js dan menyalinnya ke papan keratan. Saya ingin menggunakan kaedah clipboardData.setData dan mesej ralat berikut muncul , sila beri nasihat.
Mesej ralat:
zhiliangbaobiao.js:8 Uncaught TypeError: Cannot read property 'setData' of undefined
at copysql1 (zhiliangbaobiao.js:8)
at HTMLInputElement.onclick (global.html:172)
global.html kod sumber utama
<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 kod sumber utama
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);
Gunakan denyar atau biarkan pengguna menyalin secara manual.
Anda boleh menggunakan pustaka clipboard.js (beri perhatian kepada keserasian penyemak imbas) atau terus menggunakan Flash.