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

  • Google Chrome

    Google Chrom

    1 EYLÜL 2008
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012