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

  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • majesticdubstep

    majesticdubs

    3 Kasım 2011
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010