Se você deseja copiar o conteúdo da área de transferência através do JS, não é difícil, mas se você considerar a compatibilidade do navegador, ele se torna um pouco problemático. . Não vou explicar o princípio em detalhes, vamos falar sobre como implementá -lo.
Por exemplo, meu código HTML é o seguinte:
A cópia do código é a seguinte:
<div>
<code rel = "1"> <span id = "id_1"> conteúdo a ser copiado1 </span> </code>
<code rel = "2"> <span id = "id_2"> conteúdo a ser copiado 2 </span> </code>
<code rel = "3"> <span id = "id_3"> conteúdo a ser copiado3 </span> </code>
</div>
Existem dois arquivos JS no total, portanto, não há necessidade de mencionar o jQuery e, em seguida, JQuery-Zclip.js e Zeroclipboard.swf. /www.steamdev.com/zclip /
O JS que gera o botão de cópia é o seguinte
A cópia do código é a seguinte:
<script type = "text/javascript">
$ (function () {
$ ('código'). cada (function () {
var self = $ (this);
var id = self.attr ('rel');
var cópia = $ ('<span> copy </span>'). Appendto (self) .zclip ({
'Path': '/static/admin/js/zeroclipboard.swf', // Escreva seu próprio endereço aqui
'Aftercopy': function () {
alerta ('Obtenha o endereço do código correspondente foi copiado para a área de transferência, você pode usar o Ctrl+V para colar');
},
'cópia': function () {
retornar $ ('#id _'+id) .text (); // observe aqui, se div span, etc. use text (), se entrada, use val (), esse suporte não for muito bom
}
});
});
});
</script>
Dessa forma, você pode copiar o tempo dos navegadores. Mais tarde, descobri que o Flash foi realmente gerado, mas não estava no local do texto. Eu verifiquei muitas informações, e algumas pessoas disseram que você precisa mudar o código, mas depois mudei e estava tudo bem
O código que precisa ser modificado é o seguinte
A cópia do código é a seguinte:
getDoBjectPosition: function (obj, stopobj) {
// Obtenha coordenadas absolutas para o elemento DOM
var info = {
Esquerda: 0,
Top: 0,
Largura: obj.width?
Altura: Obj.Height?
};
if (obj && (obj! = stopobj)) {
//info.left += obj.offsetleft;
//info.top += obj.offsettop;
JPOS = $ (obj) .Position ();
info.left += jpos.left;
info.top += jpos.top;
}
retornar informações;
}
De fato, isso tem algo a ver com o princípio deste plug -in, por isso cobre um flash transparente no botão.