{"id":8566,"date":"2010-07-29T11:36:05","date_gmt":"2010-07-29T10:36:05","guid":{"rendered":"https:\/\/www.interactive-pioneers.de\/blog\/?p=8566"},"modified":"2010-07-29T11:36:05","modified_gmt":"2010-07-29T10:36:05","slug":"flash-plugin-crash-bei-javascript-alert-in-firefox-ab-3-6-4","status":"publish","type":"post","link":"https:\/\/www.interactive-pioneers.de\/blog\/flash-plugin-crash-bei-javascript-alert-in-firefox-ab-3-6-4\/","title":{"rendered":"Flash Plugin Crash bei Javascript Alert in Firefox"},"content":{"rendered":"<p><!--:de--><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-8567\" title=\"Flash Plugin Crash bei Firefox 3.6.4\" src=\"https:\/\/www.interactive-pioneers.de\/blog\/wp-content\/uploads\/2010\/07\/blog_header-1.jpg\" alt=\"Flash Plugin Crash bei Firefox 3.6.4\" width=\"415\" height=\"250\" srcset=\"https:\/\/www.interactive-pioneers.de\/blog\/wp-content\/uploads\/2010\/07\/blog_header-1.jpg 415w, https:\/\/www.interactive-pioneers.de\/blog\/wp-content\/uploads\/2010\/07\/blog_header-1-300x181.jpg 300w\" sizes=\"(max-width: 415px) 100vw, 415px\" \/>Wenn man bei Firefox ab Version 3.6.4 unter Windows per ExternalInterface.call() eine Javascript Alert Box aufruft, kann es passieren, dass der gesamte Tab einfriert und das Flash Plugin abst\u00fcrzt. Die L\u00f6sung ist zwar einfach, liegt jedoch nicht unbedingt auf der Hand.<\/p>\n<div><!--:--><!--more--><!--:de--><\/div>\n<p>Mozilla Firefox hat ab Version 3.6.4 das Konzept der Plugin Container eingef\u00fchrt. Dadurch soll das Abst\u00fcrzen des Browsers bei Fehler in Browser Plugins wie Adobe Flash, Microsoft Silverlight oder Apple Quicktime verhindert werden. Durch dieses Konzept kommt es unter Windows aber anscheinend zu Problemen, wenn man Flash \u00fcber das ExternalInterface eine Alert Box \u00f6ffnet. In den meisten F\u00e4llen friert der Browser ein und es hilft oftmals nur das manuelle beenden des Prozesses &#8220;plugin-container.exe&#8221;.<br \/>\nUm diesen Problem vorzubeugen hilft es, die Alert Box nicht wie \u00fcblich einfach \u00fcber die Funktion &#8220;alert()&#8221; aufzurufen, sondern das ganze \u00fcber die Javascript timeout Funktion aufzurufen. Ein Aufruf w\u00fcrde dann so aussehen:<\/p>\n<p><code>setTimeout(\"alert('Alert message with timeout of 1 ms')\", 1);<\/code><\/p>\n<p>Dadurch wird die Alert Box nicht sofort sondern erst nach einem kurzen Timeout aufgerufen, was das Problem behebt. <a title=\"Bugzilla - Bug 561075\" href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=561075\">Der Bug<\/a> existiert bereits in der <a title=\"Bugzilla\" href=\"https:\/\/bugzilla.mozilla.org\/\">Mozilla Bugbase <\/a>und man kann nur auf ein baldiges beheben hoffen.<br \/>\nDer Sourcecode mit einem einfachen Beispiel findet ihr hier: <a rel=\"attachment wp-att-8568\" href=\"https:\/\/www.interactive-pioneers.de\/blog\/flash-plugin-crash-bei-javascript-alert-in-firefox-ab-3-6-4\/firefoxjsbug\/\">FirefoxJSBug<\/a><!--:--><\/p>\n","protected":false},"excerpt":{"rendered":"<p><!--:de-->Wenn man bei Firefox ab Version 3.6.4 unter Windows per ExternalInterface.call() eine Javascript Alert Box aufruft, kann es passieren, dass der gesamte Tab einfriert und das Flash Plugin abst\u00fcrzt. Die L\u00f6sung ist zwar einfach, liegt jedoch nicht unbedingt auf der Hand.<!--:--><\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,27],"tags":[278,429,433,609],"yst_prominent_words":[1592,12581,12577,12575,12584,12578,11660,12582,1538,1604,12580,1381,1543,12583,12585,11632,12579,1949,12576,1587],"acf":[],"_links":{"self":[{"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/posts\/8566"}],"collection":[{"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/comments?post=8566"}],"version-history":[{"count":0,"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/posts\/8566\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/media?parent=8566"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/categories?post=8566"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/tags?post=8566"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/www.interactive-pioneers.de\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=8566"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}