2012-11-12 12 views
7

krom uzantıları panoya ve içerik komut dosyasında ") kopyalama, ancak arka plan sayfasındaki da stackoverflow üzerinde sayısız sayfa var ... her çözüm kullanılabilir.Kopya ... Yapamam ben denedim bu çalışma için bütün gün çalışıyorum

Çalışan bir örneği var mı?

DÜZENLEME:

manifest.json

{ 
    "name": "test", 
    "manifest_version": 2, 
    "version": "1.0", 
    "description": "test", 
    "content_scripts": [{ 
      "matches": ["https://somesite.com*"], 
      "js": ["jquery.js", "script.js"], 
      "run_at": "document_end", 
      "css": ["style.css"] 
    }], 
    "permissions": [ 
      "clipboardWrite", 
      "clipboardRead" 
    ] 
} 

script.js

$(document).ready(function() { 
    $('body').append('<textarea id="test"/>'); 
    var $test = $('#test'); 
    $test.text('some text which should appear in clipboard'); 
    $test.select(); 
    document.execCommand('copy'); 
    alert('copied!'); 
}); 

Üstü çalışmaz. Uyarı gösteriliyor ...

EDIT2: Ayrıca flash sürümleri ile denedim, ancak bu uzantı nedeniyle çalışmıyor çünkü localhost üzerinde çalışan bir şey olduğunu düşünüyorum.

cevap

7

Kopyalama, garip çalışır. Kopya için bir olay dinleyicisini kaydetmelisiniz, daha sonra document.execCommand('copy')'u yaptığınızda bu çağrılır.

Bu olay işleyicisi bir çalışma örneğidir:

document.addEventListener('copy', function(e) { 
    var textToPutOnClipboard = "some text which should appear in clipboard"; 
    e.clipboardData.setData('text/plain', textToPutOnClipboard); 
    e.preventDefault(); 
}); 
3

Eğer manifest.json kopya için izinleri var emin olun: o zaman

"permissions": [ 
    "clipboardWrite", // for copy and cut 
    "clipboardRead", // for paste 

], 

ve document.execCommand('copy') kullanmak şey

diğer bilgiler here seçtikten sonra.

+0

Ayrıca yardım için teşekkürler, sen benim kod (düzenlenmiş soruya bakın) yanlış bir şey görüyor musunuz? – mrzepa

İlgili konular