Vraag & Antwoord

Webprogrammeren & scripting

Firefox lijkt te crashen bij window.close()

3 antwoorden
  • 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. :)
  • 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.
  • 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.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.