Ir para conteúdo
Fórum Script Brasil
  • 0

Código para Copiar Texto


DaviMelo

Pergunta

Preciso de um código pra copiar o texto exibido na DIV "msg" e na DIV "ref" para o clipboard, mas como?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Caixinha de Promessas</title>
<style type="text/css">
input{
    background-color:transparent;
    border:0;
    width:90px;
    height:17px;
    text-align:left;
}
*{
    vertical-align:middle;
    font-family:"Times New Roman", Times, serif;
    font-size:12px;
}
body {
    width:130px;
    height:200px;
    }
div {
    vertical-align: middle;
}
</style>
</head>
<script language="javascript">
 // Aqui se define a variável com todos os versículos separados pelo caracter / 
var texto = 'Porque uma porta grande e eficaz se me abriu; e há muitos adversários. @1 Coríntios 16.9/O Senhor é o meu pastor, nada me faltará. @Salmo 23.1/O Senhor teu Deus está no meio de ti, poderoso para te salvar;  ele se deleitará em ti com alegria;  renovar-te-á no seu amor,  regozijar-se-á em ti com júbilo. @Sofonias 3.17/Confessai, portanto, os vossos pecados uns aos outros, e orai uns pelos outros, para serdes curados. A oração de um justo pode muito em seus efeitos. @Tiago 5.16/';
var n // numero do versiculo
//Coloca os versiculos em uma lista
var versiculos = texto.split("/")
function inicia(){
    System.Gadget.settingsUI="config.html"
    muda_fundo()
    sorteia_versiculo()
}
function muda_versiculo(){
    numero.value=n+1
    temp = versiculos[n].split('@');
    msg.innerText = "  " + temp[0]
    ref.innerText = temp[1]
}
function sorteia_versiculo(){
    n = Math.random()*versiculos.length-1
    n = Math.floor(n)
    muda_versiculo()
}
function muda_fundo(){
    fundo = System.Gadget.Settings.read("fundo")
        if(!fundo>0)
            fundo = 2
        document.body.style.background = "url('images/fundo" + fundo + ".png')";
}
function showFlyout()
{
    System.Gadget.Flyout.file = "promessasfull.html";
    System.Gadget.Flyout.show = true;
}
</script>
<body onload="inicia()"> 
<table  cellpadding="0" width=115 cellspacing="0">
<div>
<img onclick="Text_Copy();" src="images/copy.ico" height="17"/>
<input onchange="java script:muda_versiculo_input(numero.value)" type="text" name="numero" /></div>
<tr>
<td id="msg" onclick="sorteia_versiculo()" style="vertical-align:middle; text-align:center"></td></tr>
<tr>
<td id="ref" height=30 style="text-align:right; font-weight: bold; font-style: italic;"></td></tr></table>
</body></html>

Editado por Jonathan Queiroz
Adicionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Amigo, faça o seguinte,

Para copiar todo o texto de uma div

function copyTxt(id){
var el = document.getElementById(id)
var cp = el.text
cp.execCommand("Copy")
}

function pasteTxt (id){
    var el = document.getElementById(id) 
    var paste = el.selectionStart
    paste.execCommand("Paste")
}

Testa aí, qualquer coisa posta. Abração

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado mas não funcionou abaixo o código atualizado:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
#Layer1 {
    position:absolute;
    left:6px;
    top:66px;
    width:117px;
    height:17px;
    z-index:1;
    visibility:hidden;
    }
input{
    background-color:transparent;
    border:0;
    width:46px;
    height:17px;
    text-align:center;
}
*{
    vertical-align:middle;
    font-family:"Times New Roman", Times, serif;
    font-size:12px;
}
body {
    margin:7px;
    margin-right:11px;
    width:130px;
    height:100px;
    background:url(fundo1.png)
}
div {
    vertical-align: middle;
}
</style>
</head>
<script language="javascript">
 // Aqui se define a variável com todos os versículos separados pelo caracter / 
var texto = 'Porque uma porta grande e eficaz se me abriu; e há muitos adversários. @1 Coríntios 16.9/O Senhor é o meu pastor, nada me faltará. @Salmo 23.1/Disse-lhe Jesus: Não te hei dito que, se creres, verás a glória de Deus? @João 11.40/O meu Deus, segundo as suas riquezas, suprirá todas as vossas necessidades em glória, por Cristo Jesus. @Filipenses 4.19/Tomai sobre vós o meu jugo, e aprendei de mim, que sou manso e humilde de coração. Porque o meu jugo é suave e o meu fardo é leve. @Mateus 11.29-30/Mil poderão cair ao teu lado, e dez mil à tua direita;  mas tu não serás atingido. @Salmo 91.7/O Senhor teu Deus está no meio de ti, poderoso para te salvar;  ele se deleitará em ti com alegria;  renovar-te-á no seu amor,  regozijar-se-á em ti com júbilo. @Sofonias 3.17/Confessai, portanto, os vossos pecados uns aos outros, e orai uns pelos outros, para serdes curados. A oração de um justo pode muito em seus efeitos. @Tiago 5.16/';
var n 
var versiculos = texto.split("/")
function inicia(){
    System.Gadget.settingsUI="config.html"
    muda_fundo()
    sorteia_versiculo()
}
function muda_versiculo(){
    numero.value=n+1
    temp = versiculos[n].split('@');
    msg.innerText = "  " + temp[0]
    ref.innerText = temp[1]
}
function muda_versiculo_input(x){
    n=x-1
    temp = versiculos[n].split('@');
    msg.innerText = "  " + temp[0]
    ref.innerText = temp[1]
}
function proximo_versiculo(){
    if(n<199)n++
    muda_versiculo(n)
}
function versiculo_anterior(){
    if(n>0)n--
    muda_versiculo(n)
}
function sorteia_versiculo(){
    n = Math.random()*versiculos.length-1
    n = Math.floor(n)
    muda_versiculo()
}
function muda_fundo(){
    fundo = System.Gadget.Settings.read("fundo")
        if(!fundo>0)
            fundo = 1
        document.body.style.background = "url('images/fundo" + fundo + ".png')";
}
function mostra(){
    Layer1.style.visibility='visible'
    numero.focus()
}
function esconde(){
    Layer1.style.visibility='hidden'
}
function copyTxt(){
var el = document.getElementById(Layer1)
var cp = el.text
cp.execCommand("Copy")
}
</script>
<body onload="inicia()"> 
<div  id="Layer1" >
<table id="Table_01" width="117" height="17" border="0" cellpadding="0" cellspacing="0" onmouseover="mostra()" onmouseout="esconde()">
<tr><td>
<img onmousedown="copyTxt()" src="images/copy.ico" width="21" height="17"/></td>
<td></td>
<td width="46" height="17" background="images/enter.png" />
<input onchange="java script:muda_versiculo_input(numero.value)" type="text" width="46" name="numero" />
</tr></table></div>
<table  cellpadding="0" width=112 cellspacing="0" onmouseover="mostra()"  onmouseout="esconde()">
<tr>
<td id="msg" onclick="sorteia_versiculo()" height=70 style=" vertical-align:middle; text-align:center"></td>
</tr><tr>
<td id="ref" height=20 style="text-align:right; font-weight: bold;  font-style: italic;"></td>    
</tr></table></body></html>

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, descobri algo, o copy, paste e o cut do execCommand, é restrito em alguns navegadores, por tanto, não é recomendado fazer desta forma, tendo que ser feito atrés do DOM, puramente. Se não souber como me fale.

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe, mas eu tinha que ser mais claro.

Esse código é de um gadget da área de trabalho do meu windows 7.

Ele funciona assim:

Toda vez que o sistema é ligado ele mostra uma mensagem aleatória, e quando cliquo nele também.

Mas gostaria de copiar a mensagem para a área de transferência.

Eu tenho outro gadget de tradução que faz isso, mas o código eu não consegui fazer funcionar nesse.

Eu não sei como usar o DOM.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...