Copiando Script
Descrição do artigo publicado no aspneti.com, cada artigo com seu resumo
Bom pessoal resolvi
mostrar a todos o quanto é fácil e rápido usar apenas javascript e html para
copiar um código apenas com um clique. Usarei apenas o editor Visual Studio .NET
2005, Javascript e HTML.
Geralmente vemos
na internet ou aplicação local, que com um clique o Windows executa e copia
todo código mostrado na aplicação e assim podemos colar em qualquer parte de
qualquer outro documento. Esse é o objetivo do Copiando Script.
HTML Code
O primeiro de
tudo, criei um HTML com table, tr e td. Dentro da td foi colado um código
normal com a tag <pre> onde fica o código c# do programa pronto para ser
copiado. (Referência Code.1.1)
<fieldset style="width:50%"> <table width="100%"
cellspacing="0"
cellpadding="5"> <tr style="background-color:#f1f1f1; font-family:Verdana;
font-size:11px;"> <td align="left">Código C# </td> <td align="right"> <span onclick="CopyCode(this)" style="cursor:hand"><b>[ Copiar
Código ]</b></span> </td> </tr> <tr> <td style="background-color:#dedede;" colspan="2"> <pre><br />if(i==0){
i+=1; } <br
/>Response.Write(i.ToString());</pre> </td> </tr> </table> </fieldset> |
Referência:
Code.1.1
Note que o HTML é
simples com algumas tags que talvez você nunca tenha prestado atenção. Dentro
da segunda td, possui uma tag <span>. (Referência Code.1.2)
<span onclick="
CopyCode(this)" style="cursor:hand"><b>[ Copiar Código
]</b></span> |
Referência: Code.1.2
Essa tag
<span> possui o atributo onclick para chamar um link ou uma função
JavaScript. O segundo código que talvez não tenha prestado atenção é o
<pre> que tem a finalidade de mostrar o código descrito da mesma forma
que está no código HTML. (Referência Code.1.3)
<pre><br />if(i==0){
i+=1; } <br
/>Response.Write(i.ToString());</pre> |
Referência: Code.1.3
O resultado final
da tela HTML criada anteriormente é a seguinte. (Referência Code.1.4)
Referência: Code.1.4
Depois de ter
todo código HTML construído, basta fazer a parte
<script type="text/javascript"> function
CopyCode(key) { var
trElements = document.all.tags("tr"); var i; for(i =
0; i < trElements.length; ++i) { if(key.parentElement.parentElement.parentElement
== trElements[i].parentElement) { window.clipboardData.setData("Text", trElements[i].innerText); } } } </script> |
Referência:
Code.1.5
A function
chama-se CopyCode(key) que espera um
parâmetro de entrada chamado key. Percorro
todas as tags do tipo tr e se a chave
for igual ao elemento, executo o comando responsável para copiar um Text dentro da tr.
O código
responsável para copiar o texto é o:
window.clipboardData.setData("Text", trElements[i].innerText); |
Referência: Code.1.6
Para não ficar
totalmente perdido, segue todo código da página para melhor entendimento.
(Referência Code.1.7)
<script type="text/javascript"> function CopyCode(key) { var
trElements = document.all.tags("tr"); var i; for(i =
0; i < trElements.length; ++i) { if(key.parentElement.parentElement.parentElement
== trElements[i].parentElement) { window.clipboardData.setData("Text", trElements[i].innerText); } } } </script> <fieldset style="width:50%"> <table width="100%"
cellspacing="0"
cellpadding="5"> <tr style="background-color:#f1f1f1; font-family:Verdana;
font-size:11px;"> <td align="left">Código C# </td> <td align="right"> <span onclick="CopyCode(this)" style="cursor:hand"><b>[ Copiar
Código ]</b></span> </td> </tr> <tr> <td style="background-color:#dedede;" colspan="2"> <pre><br />if(i==0){
i+=1; } <br
/>Response.Write(i.ToString());</pre> </td> </tr> </table> </fieldset> |
Referência:
Code.1.7
Mostrado todo
código, mostrarei o resultado final através do layout.
Referência:
Code.1.8
Cliquei em cima
do [ Copiar Código ]. Abri o notepad e fui ao menu Editar > Colar. (Referência Code.1.9)
Referência:
Code.1.9
Por fim, escolhi
a opção Colar. Veja o resultado final
dentro do programa notepad. (Referência Code.1.10)
Referência:
Code.1.10
Note que na
referência Code.1.10 foi colado exatamente o código C#.NET descrito
anteriormente. Bom, esse foi o meu objetivo, espero que tenham gostado.
Qualquer dúvida, favor entrar em contato através do e-mail mauricio@aspneti.com.
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In
Related articles
Calculando data para trás usando JavaScript
Exemplo real com HTML e JavaScript
Format Date dd MMM yyyy using JavaScript
Example na practice using HTML and JavaScript
Subir para o topo
Programação na prática