Metoda drukowania nie działa w oknie podczas korzystania z linku onclick Safari. Jaka jest alternatywa do drukowania strony internetowej na safari za pomocą kodu onclick umieszczonego na przycisku? Innym dziwnym zachowaniem, które występuje, jest to, że gdy próbuję zamknąć okno, pojawia się okno dialogowe drukowania natywne dla przeglądarki.window.print(); nie działa w Safari
Odpowiedz
Nie ma problemu z window.print()
z Safari. Niestety nie mogłem spróbować w systemie operacyjnym Windows, ale śledzić kod działa dla mnie z MacOS:
<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Click me</button>
<a href="#" onclick="myFunction()">Click link</a>
<script>
function myFunction() {
window.print();
}
</script>
</body>
</html>
byłem stoi podobny problem z przeglądarką Safari (a nie jakiekolwiek inne). W moim przypadku, przerywanie wszystkich wywołań interfejsu API, które są w toku, natychmiast wyświetliło okno dialogowe drukowania natywnego.
Zgaduję, że powodem, dla którego okno dialogowe pojawiło się podczas próby zamknięcia karty/strony, jest anulowanie wszystkich żądań sieciowych.
Oto przykład jak stworzyć pulę żądań AJAX (przy użyciu jQuery): Stop all active ajax requests in jQuery
Ponadto, aby to działało konsekwentnie, musiałem zawijać funkcję $.xhrPool.abortAll
w krótkim limitu czasu (100ms) .
Moja funkcja click obsługi (uproszczony) wygląda mniej więcej tak:
function myFunction() {
window.print();
window.setTimeout(function() {
$.xhrPool.abortAll()
}, 100);
}
- 1. : aktywna pseudoklasa nie działa w mobilnym safari
- 2. Checkbox stylizacji nie działa w Safari komórkowego
- 3. scrollTop w telefonie komórkowym Safari nie działa
- 4. XHR + dane URI nie działa w Safari
- 5. Przepełnienie: auto nie działa w Safari OSX
- 6. Żądanie CORS nie działa w Safari
- 7. Pamięć podręczna aplikacji Safari 7 nie działa
- 8. safari/chrome onsubmit = "location.reload (true)" nie działa
- 9. Flexbox nie działa na iPadzie i Safari
- 10. Transformacja przejścia IOS Safari nie działa
- 11. JSON.parse nie działa na iPad safari
- 12. Zmiana orientacji papieru Window.print()
- 13. Wyświetlacz: Blokowanie nie działa w przeglądarce Chrome lub Safari
- 14. onunload nie działa w przeglądarce Chrome i safari
- 15. Dlaczego wyładowanie jQuery nie działa w chrome i safari?
- 16. Dopełnienie nie działa na wybranych znaczników w Safari
- 17. Kursor CSS: wskaźnik w mac Safari nie działa
- 18. Naprawiona pozycja nie działa w przeglądarce Safari 7
- 19. Flexbox wciąż jest niekonsekwentny w Safari, flex-wrap nie działa
- 20. Wybierz rozmiar atrybutu rozmiaru nie działa w przeglądarce Chrome/Safari?
- 21. Angular $ location.path() i window.location.resload nie działa w Safari/Firefox
- 22. onclick = "history.back() nie działa w Safari i IE
- 23. "Zaloguj się za pomocą LinkedIn" nie działa w Safari mobilnym
- 24. jQuery: contains() działa w przeglądarce Firefox, ale nie Chrome/Safari
- 25. menu rozwijane jQuery selected = wybrane w Safari nie działa
- 26. JavaScript HTML5 play() nie działa w Safari ios9?
- 27. jQuery attr Wybierz w menu rozwijanym nie działa Mac Safari
- 28. Eksport HTML do Excela nie działa w Safari Mac
- 29. $ window.print(), nie drukuje zaktualizowanych danych modelu w kątowym js
- 30. Facebook FB.login działa w Safari, ale nie na urządzeniach mobilnych Safari
Duplikat: http://stackoverflow.com/questions/23626998/safari-print-issue-with-javascript-window-print – HaukurHaf
To nie jest metoda drukowania, funkcja kliknięcia, która nie działa w safari – ODelibalta
, że rozwiązanie już nie działa – fauverism