Atualmente, existem cada vez mais tipos de navegador, como IE, Firefox, Chrome, Safari, etc., por isso não é tão fácil implementar uma pequena função de copiar conteúdo para a área de transferência com um JS.
No Flash 9 ERA, havia uma solução para matar o conteúdo JS de todos os navegadores para a área de transferência :
Esta solução é um dos métodos mais populares: a famosa solução de cópia da área de transferência utiliza uma área de transferência.swf como uma ponte para copiar conteúdo para a área de transferência.
O princípio é: Crie um arquivo flash oculto e, ao mesmo tempo, atribua o valor "clipboard = .." ao flash da variável flash. Através desta tarefa, o conteúdo copiado será colocado na área de transferência. Este método é compatível com IE, Firefox, Opera, Chrome e Safari, e é realmente uma solução "universal". A taxa de instalação do flash do navegador é muito alta, o que é quase uma solução perfeita.
A cópia do código é a seguinte:
<! Doctype html public "-// w3c // dtd xhtml 1.0 transitional // pt" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-bransitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title> Developer Web- www.admin10000.com </ititle>
<meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
<script type = "text/javascript">
var clipboardswfdata;
var setCopy_getText = function () {
clipboardswfdata = document.getElementById ('test_text').
// alerta (clipboardswfdata);
window.document.clipboardswf.setVariable ('str', clipboardswfdata);
}
var floatwin = function () {
alerta ('cópia com sucesso!');
//document.getElementById('clipinner').style.display = 'nenhum';
}
</script>
</head>
<Body>
<texttarea id = "test_text" linhas = "15" cols = "100"> conteúdo de texto ..... </sexttarea>
<div id = "clipboard_content">
<div> <span id = "clipinner"> copie o código para a área de transferência
<incorpore name = "clipboardswf" id = "clipboardswf" onmouseover = "setCopy_getText ()" deviceFont = "false" src = "./_ clipboard.swf" menu = "false" permite "transparaccess =" samedomain "swliveconnect =" true "wmode =" transparent "" types = "typeNain" swliveconnect = "true" "wmode =" transparent "
</span>
</div>
</div>
</body>
</html>
O endereço de download de clipboard.swf: http://www.jeffothy.com/weblog/uploads/clipboard.php
Mas no Flash 10 ERA, o método acima não é mais possível.
Como o Flash10 estipula que apenas operações reais no SWF (como o mouse clique) podem acessar a prancha, enquanto o método acima usa apenas um arquivo SWF oculto e opera a prancha de flash através do JavaScript. O usuário não executa operações reais no arquivo SWF, portanto esse método é inválido.
Então, como resolver esse problema de "operação real"? Você pode usar uma biblioteca JavaScript: Zero Clipboard. Esta biblioteca JS pode suportar o Flash 10 Copying para a área de transferência. O princípio deste método é substituir um elemento DOM, como botão ou div em um flash transparente (não visível para o usuário). Ao clicar neste DOM, o clique real do flash é acessar a prancha de flash.
Aqui estão alguns exemplos de depuração:
A cópia do código é a seguinte:
<! Doctype html public "-// w3c // dtd xhtml 1.0 transitional // pt" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-bransitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title> Teste de quadro de transferência zero </title>
<meta http-equiv = "content-type" content = "text /html; charset = utf-8" />
<script type = "text/javascript" src = "zeroclipboard.js"> </script>
<script type = "text/javascript">
var clip = null;
função $ (id) {return document.getElementById (id); }
function init () {
clip = new Zeroclipboard.client ();
clip.SetHandCursor (true);
clip.addeventListener ('mouseOver', função (cliente) {
// Atualize o texto no mouse sobre
clip.settext ($ ('fe_text').
});
clip.addeventListener ('Complete', função (cliente, texto) {
// Debugstr ("Texto copiado para a área de transferência:" + texto);
Alerta ("Este endereço foi copiado, você pode colá -lo com Ctrl+V.");
});
clip.glue ('clip_button', 'clip_container');
}
</script>
</head>
<corpo onload = "init ()">
<input id = "fe_text" cols = "50" linhas = "5" value = "copie o texto do conteúdo">
<span id = "clip_container"> <span id = "clip_button"> <strong> cópia </strong> </span> </span>
</body>
</html>
Clique para baixar esta biblioteca: //www.vevb.com/jiaoben/24961.html
Faça o upload do site durante a depuração. Se você abrir o Flash diretamente localmente, haverá um erro e não há permissão. A propriedade MoviePath no arquivo zeroclipboard.js é o endereço do Falsh, que é o local do endereço em que o Zeroclipboard.swf é armazenado no diretório.
Esta solução para copiar o conteúdo para a área de transferência pode suportar navegadores: Firefox/IE/Opera/Chorme/Safari Todos os navegadores!