Jika Anda ingin menyalin konten ke clipboard melalui JS, itu tidak sulit, tetapi jika Anda mempertimbangkan kompatibilitas browser, itu menjadi sedikit merepotkan. . Saya tidak akan menjelaskan prinsipnya secara rinci, mari kita bicara tentang cara mengimplementasikannya.
Misalnya, kode HTML saya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
<div>
<code rel = "1"> <span id = "id_1"> konten yang akan disalin1 </span> </code>
<code rel = "2"> <span id = "id_2"> konten yang akan disalin 2 </span> </code>
<code rel = "3"> <span id = "id_3"> konten yang akan disalin3 </span> </code>
</div>
Ada dua file JS secara total, jadi tidak perlu menyebutkan jQuery, dan kemudian jQuery-zclip.js dan ZeroClipboard.swf. /www.steamdev.com/zclip /
JS yang menghasilkan tombol salin adalah sebagai berikut
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
$ (function () {
$ ('code'). masing -masing (fungsi () {
var self = $ (ini);
var id = self.attr ('rel');
var copy = $ ('<span> copy </span>'). appendTo (self) .zclip ({
'Path': '/static/admin/js/zeroclipboard.swf', // tulis alamat Anda sendiri di sini
'aftercopy': function () {
Peringatan ('Dapatkan alamat kode yang sesuai telah disalin ke clipboard, Anda dapat menggunakan Ctrl+V untuk menempel');
},
'copy': function () {
kembalikan $ ('#id _'+id) .text (); // Catatan di sini, jika div span, dll. Gunakan teks (), jika input, gunakan val (), dukungan ini tidak terlalu bagus
}
});
});
});
</script>
Dengan cara ini, Anda dapat menyalin waktu di seberang browser. Saya kemudian menemukan bahwa Flash benar -benar dihasilkan, tetapi tidak ada di lokasi teks. Saya memeriksa banyak informasi, dan beberapa orang mengatakan bahwa Anda perlu mengubah kode, tetapi kemudian saya mengubahnya dan tidak apa -apa
Kode yang perlu dimodifikasi adalah sebagai berikut
Salinan kode adalah sebagai berikut:
getDomObjectPosition: function (obj, stopoBj) {
// Dapatkan koordinat absolut untuk elemen DOM
var info = {
Kiri: 0,
TOP: 0,
Lebar: Obj.width?
Tinggi: Obj.height?
};
if (obj && (obj! = stopoBj)) {
//info.left += obj.offsetleft; // sebelum modifikasi
//info.top += obj.offsettop;
jpos = $ (obj) .position ();
info.Left += jpos.left; // Setelah modifikasi
info.top += jpos.top; // Setelah modifikasi
}
pengembalian info;
}
Bahkan, ini ada hubungannya dengan prinsip plugin ini, sehingga mencakup flash transparan pada tombol.