2017-12-07 3 views
1

私は何かをコピーするときのようにしたい、私はクリップボードに何かを得るでしょう。javascriptの別のテキストをコピーする特定のテキストをコピーする

document.addEventListener('copy', function(e){ 
    if(e.clipboardData.getData('Text').toString()==="@Trolluminati") 
    e.clipboardData.setData ("Text", "<@325608201175433216>"); 
    e.preventDefault(); 
}); 

Idk、この特定のテキストの最後のコピーを他のものに変更する方法。

今のところ、コピーされたテキストはそのまま保持され、変更されません。

答えて

1
document.addEventListener('copy', function(e){ 
    var selectedText = window.getSelection().toString(); 
    if (selectedText == '@Trolluminati') { 
     e.preventDefault(); 
     clipboardData = e.clipboardData || window.clipboardData || e.originalEvent.clipboardData; 
     clipboardData.setData('text', '<@325608201175433216>'); 
    } 

}); 
+0

動作しませんでした.plzテストテストして、あなたの問題はよく他の場所 –

+0

@AmirBerahaを動作しませんでした –

+0

です私はそれだけで(Ctrlを押しながらVを使用して)それが貼り付けが可能になります@Trolluminati上(CTRL cを使用して)コピーする際たい<@ 325608201175433216>たぶん私はそれを言及するのを忘れてしまった、おっと –

0

ここ

if (document.queryCommandSupported('copy')) { 
     var textArea = document.createElement("textarea"); 
     textArea.style.position = 'fixed'; 
     textArea.style.top = '0'; 
     textArea.style.left = '0'; 
     textArea.style.width = '2em'; 
     textArea.style.height = '2em'; 
     textArea.style.padding = '0'; 
     textArea.style.border = 'none'; 
     textArea.style.outline = 'none'; 
     textArea.style.boxShadow = 'none'; 
     textArea.style.background = 'transparent'; 
     textArea.value = INSERT WHATEVER YOU WANT TO COPY HERE 
     document.body.appendChild(textArea); 
     textArea.select(); 
     try { 
     var successful = document.execCommand('copy'); 
     var msg = successful ? 'successful' : 'unsuccessful'; 
     console.log('Copying text command was ' + msg); 
     } catch (err) { 
     console.log('Oops, unable to copy'); 
     } 
     document.body.removeChild(textArea); 
    } 
+0

私は私のマウス(ないinputedテキスト)でテキストを選択することを意味し、私はその場合の具体的なテキスト、「@Trolluminati」をコピーするとき、クリップボードには、<「@を追加します325608201175433216> " –

+0

これは裏側からコピーする隠しテキスト領域を作成する方法です。あなたが望むものを<@ 325608201175433216> – user2476265

1

document.addEventListener('copy', function(e){ 
 
console.log(0); 
 
if(window.getSelection().toString().trim()==="@Trolluminati") 
 
    e.clipboardData.setData ("Text", "<@325608201175433216>"); 
 
else 
 
    e.clipboardData.setData ("Text", window.getSelection().toString().trim()); 
 
e.preventDefault(); 
 
});

役立つかもしれないいくつかのコードは、私は次のコードでフィドルを作成した。この

document.addEventListener('copy', function(e){ 
console.log(0); 
if(window.getSelection().toString().trim()==="@Trolluminati") 
    e.clipboardData.setData ("Text", "<@325608201175433216>"); 
else 
    e.clipboardData.setData ("Text", window.getSelection().toString().trim()); 
e.preventDefault(); 
}); 
+0

で置き換えてみてください。私にとってはうまくいきませんでした。なぜ –

+0

私はこのコードを更新しますか? plzはそれをテストします –

+0

... –

0

を試してみます。それはChromeの私のために働く。

document.addEventListener('copy', function (event) { 
    event.preventDefault(); 

    var copytext = window.getSelection() + '<@325608201175433216>'; 

    if (event.clipboardData) { 
    event.clipboardData.setData('Text', copytext); 
    } 
}); 

jsfiddle

+0

はうまく動作せず、元のテキストを保持します –

関連する問題