2014-05-20 14 views
10

Kiedy w naszym webapp okno ekranu Chrome jest uruchomiona, albo przez window.open() lub klikając link z target="_blank", a następnie w tym oknie ekranu użytkownika, ciała onload="window.print()" do auto-uruchom wydrukuj okno dialogowe i podgląd wydruku, a następnie użytkownik ZAMKNIĘTA okno drukowania/podokna zamiast klikania anuluj, okno główne zostanie całkowicie podświetlone. Konkretnie:window.print() z Chrome podokno - blisko, a potem pokona

  1. No javascript imprezy będzie ogień
  2. żadne powiązania są klikalne
  3. Uderzanie F5 wykazuje małą wirówkę w zakładce ale strona nie ładuje.
  4. Okno główne jest naprawdę martwe - wszystko, co możesz zrobić, to zamknąć.

Po kliknięciu przycisku anuluj w oknie podrzędnym (w którym podgląd wydruku jest uruchamiany za pośrednictwem window.print()) wszystko jest w porządku. Ale jeśli użytkownik zamknie okno, wszystkie szaleństwa się zdarzają.

To znany błąd w Chrome:

Czy ktoś wie o obejście tego?

+4

Zobacz ten post. http://stackoverflow.com/questions/23071291/javascript-window-print-in-chrome-closing-new-window-lub-nste-instead-of-shop –

Odpowiedz

1

Zamiast używać window.print(), po prostu przenieś zawartość do nowego okna, a następnie wywołaj funkcję drukowania, jak podano poniżej, aby wydrukować zawartość.

Poniżej znajduje się wywołanie funkcji, w którym przekazaliśmy wewnętrzny html elementu przez jego identyfikator do nowego okna.

PrintContent(document.getElementById('div-content-id').innerHTML); 

function PrintContent(printableContent) { 
    var printWindow = window.open("", "Print_Content", 'scrollbars=1,width=900,height=900top=' + (screen.height - 700)/2 + ',left=' + (screen.width - 700)/2); 
    printWindow.document.write(printableContent); 
    printWindow.document.close(); 
    printWindow.focus(); 
    printWindow.print(); 
    printWindow.close(); 
    return false; 
} 

Miałem też do czynienia z tym samym problemem, to działa dla mnie.

Powiązane problemy