https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard
https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/
O to chodzi?
Nie za bardzo rozumiem, że nie ma problemu, gdy robisz to przez onclick, a już w trakcie ładowania strony nie działa. Są w konsoli jakieś błędy? Pokaż kod.
kurczę, jednak onclick execCommand('paste') też nie działa, po wyczyszczeniu cache, działa mi to jeszcze na firefoxie, mimo że cache wyczyszczone też, ale mam teraz tylko pierwszy z kodów niżej, chwilowo nie ma już w bracketsie nic związanego z paste. Konsola cały czas pusta.
to działa i wykonuje od razu wklejenie po reoladzie (?dziwne):
ps. robię copy i reolad bo bez reoladu iframe jest nieedytowalny, a po reolad jest edytowalny.
var selButton = document.getElementById('buttoncopy'); var pastButton = document.getElementById('buttonpaste'); var frame = document.getElementById('editor'); selButton.addEventListener("click", function(){ var frameContent = frame.contentDocument; frameContent.execCommand('selectAll'); frameContent.execCommand('copy'); location.reload(); },false);
to nie działa:
pastButton.addEventListener("click", function(){ var frameContent = frame.contentDocument; frameContent.execCommand('paste'); },false);
ani
$(document).ready(function() { $('#buttonpaste').click() { pastButton.addEventListener("click", function(){ var frameContent = frame.contentDocument; frameContent.execCommand('paste'); },false); } }
przy kliknięciu buttonpaste i symulacji jego kliknięcia przestaje działać focus() i się wklejenie nie wykonuje.
Przez reset bracketsa nie mogę cofnąć i zobaczyć jakie było kombinowanie, aww :/
Hmm, tylko że w pierwszym kodzie nie widać, żebyś coś wklejał.
Co masz na myśli pisząc "edytowalny" ?
Czy w tych dwóch kawałkach kodu, które nie działają, funkcja przekazana do listenera wywołuje się na kliknięcie?
przy kliknięciu buttonpaste i symulacji jego kliknięcia przestaje działać focus()
Kiedy i na czym próbujesz użyć focus()?
Dokładnie, nie ma na razie żadnego kodu od wklejania i mimo to wkleja. Ale to tylko w firefox, często mam z nim dziwne efekty, jakiś opóźniony zapłon, nawet z delete cache.
Edytowalny czyli że mogę zaznaczyć tekst i skasować, zmienić czcionkę itp, bo to mój wysiwyg (iframe, textarea i execcommandy), bez reoladu jest nieruchomy i nic się nie da zedytować.
focus mam włączony po reoladzie w
function iframe() { editor.document.designMode = "On"; $('#editor').focus(); }
bo ciekawiło mnie, czy z włączonym focusem zadziała paste z buttona, ale jednak button usuwa ten focus (a focus zostawiony bo w takim razie ręcznie mogę zrobić szybciej ctrl+V, zamiast klikać w iframe i dopiero wcisnąć ctrl+V).
W ostatnich dwóch kodach gdy zostawię sam alert w środku to tak, się wykonuje funkcja, ale z paste nic. Ogólnie teraz czytam, że przeglądarki blokują wklejanie z js itp. Może to jest odporne na kombinacje? Jeśli efekt w firefoxie się utrzyma, to przerzucę się na niego, bo ten plik jest tylko dla mnie do edytowania. Ot, zagwozdka ^^
93,776 zapytań
142,732 odpowiedzi
323,384 komentarzy
63,379 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj
Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.