SORU
30 Aralık 2008, Salı


Nasıl JavaScript panoya kopyalamak mı?

Metni panoya kopyalamak için en iyi yolu nedir? (e-posta)

Denedim:

function copyToClipboard(text) {
    if (window.clipboardData) { // Internet Explorer
        window.clipboardData.setData("Text", text);
    } else {  
        unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
        const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);  
        clipboardHelper.copyString(text);
    }
}

ama Internet Explorer içinde bir sözdizimi hatası veriyor. Firefox, unsafeWindow is not defined diyor.

EditFlash olmadan güzel bir püf noktası: How does Trello access the user's clipboard?

CEVAP
19 Mayıs 2011, PERŞEMBE


Panoya otomatik kopyalama tehlikeli olabilir, bu nedenle çoğu tarayıcı (IE hariç) çok zor. Kişisel olarak, aşağıdaki basit hile kullanıyorum:

function copyToClipboard(text) {
  window.prompt("Copy to clipboard: Ctrl C, Enter", text);
}

Kullanıcı kopyalanacak metin seçilir istemi kutusu ile sunulmaktadır. Şimdi basmanız yeterliCtrlCveGirin(kutusunu kapatmak için) ve vala!

Şimdi panoya kopyala işlemi kullanıcı tarafından el ile (ama çok basit bir şekilde) çünkü güvenlidir. Tabii ki, tüm tarayıcılarda çalışır.

<button id="demo" onclick="copyToClipboard(document.getElementById('demo').innerHTML)">This is what I want to copy</button>

<script>
  function copyToClipboard(text) {
    window.prompt("Copy to clipboard: Ctrl C, Enter", text);
  }
</script>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Associated Press

    Associated P

    18 EYLÜL 2006
  • ecf150king

    ecf150king

    20 Ocak 2006
  • Turkish Airlines

    Turkish Airl

    11 AĞUSTOS 2006