anoniem Geplaatst: 5 juli 2013 Delen Geplaatst: 5 juli 2013 Ik heb binnen een intranet-omgeving (dus helaas niet beschikbaar voor anderen) een functie die in een popup een Java applet laadt om labels te printen. De Java applet is [url=http://code.google.com/p/jzebra/]jZebra[/url]. Het werkt redelijk simpel: op basis van een aantal parameters wordt met een druk op een form button de volgende javascript functie uitgevoerd om een nieuwe tab te openen: [code:1:28962fe0ae] // big label $('button[name="label_big"]').click(function(){ var counter = Number($('input[name="counter"]').val()); window.open(base_print_url + '/' + size + '3253/1556587/' + counter, 'print_label_window' ); $('input[name="counter"]').val(counter + 1); }); // Enable go next button $('button[name="label_small"], button[name="label_big"], button[name="label_none"]').click(function(){ $('button[name="next_order"]').removeAttr('disabled'); }); [/code:1:28962fe0ae] Die opent de volgende template: [code:1:28962fe0ae]<!DOCTYPE html> <html> <head> <script> function go_print() { var applet = document.jzebra; if (applet != null) { // Select default printer by printer name applet.findPrinter("{machine_name}"); // Send characters/raw commands to applet using "append" applet.append("{label}"); // Send characters/raw commands to printer applet.print(); } } function jzebraDonePrinting() { window.close('print_label_window'); } </script> </head> <body onload="go_print()"> <applet name="jzebra" code="jzebra.PrintApplet.class" archive="{applet_path}" style="width: 50px; height: 50px;"></applet> Bezig met afdrukken, moment s.v.p. </body> </html>[/code:1:28962fe0ae] Dit werkte tot voor kort goed, maar vandaag kreeg ik van een collega door dat iedere keer als deze functie wordt aangeroepen weliswaar het label geprint wordt, maar Firefox crasht. Van het crashrapport word ik geen pepernoot wijzer. Het stomme is: als ik de pagina direct aanroep met dezelfde parameters, Firefox niet crasht. Het label wordt normaal geprint, alleen sluit het tabblad niet. Dat laatste is op zich logisch, aangezien je alleen tabbladen kunt sluiten met window.close() indien ze met window.open() geopend zijn. Mijn vermoeden is daarom dat het hem zit in de window.close(). Aan de andere kant is dit zo'n algemeen bekende en gebruikte functie, dat ik het dan weer apart vind dat ik er niets over terugzie in Google. De gebruikte browser is Firefox, versie 22. Dat is ook de enige browser die de betreffende afdeling tot de beschikking heeft. Nu viel me vorige week (toen versie 22 uitkwam) op dat er wel meer 'aparte' dingen in Firefox 22 zitten, misschien kan het met die update te maken hebben? Tips zijn van harte welkom. :) Quote Link naar reactie
anoniem Geplaatst: 7 juli 2013 Auteur Delen Geplaatst: 7 juli 2013 Hoi Ger, ik was het crashen van Firefox versie 22 meer dan zat, de versie 21 deed dit ook overigens. Ben nu weer met Nightly onderweg versie 25.0a1 (2013-07-06) en alles gaat weer goed. Quote Link naar reactie
anoniem Geplaatst: 8 juli 2013 Auteur Delen Geplaatst: 8 juli 2013 In 21 heb ik er vrijwel nooit last van gehad, maar sinds anderhalve week geleden Fx 22 is uitgekomen, ben ik niet meer zo blij met die browser. Maar ja: om nu ineens in het hele bedrijf een andere browser te gaan installeren voor één akkefietje vind ik ook weer zo wat. :) Ik heb er wel wat aanwijzingen over gevonden overigens; het lijkt erop dat sommige virusscanners (o.a. Norton) nogal eens dwars kunnen liggen. Ik ga nu eens kijken of ik het probleem kan omzeilen door niet met een popup te werken, maar met een iframe of hidden div ofzo. Quote Link naar reactie
anoniem Geplaatst: 9 juli 2013 Auteur Delen Geplaatst: 9 juli 2013 Het was even een zoekplaatje, maar uiteindelijk is het gelukt. Ik laadt de inhoud van de pagina nu niet in een popup, maar in een iframe. De functie jzebraDonePrinting() met de window.close() wordt nu niet aangeroepen. Dit werkt nu zonder crashes. Fingers crossed... Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen