2012-11-28 15 views
10

Używamy okna dialogowego jQuery UI do wstawiania danych do bazy danych. Gdy okno dialogowe jQuery zostanie zamknięte, wyślij IE powieszony i pokazujący komunikat: "IE przestał działać". Problem jest spowodowany aktualizacją "Zbiorcza aktualizacja zabezpieczeń dla programu Internet Explorer 9 dla systemu Windows 7 dla systemów opartych na procesorach x64 (KB2761451)". Po odinstalowaniu tej konkretnej aktualizacji potwierdziłem, że problem został rozwiązany.Błąd programu Internet Explorer przy zamykaniu okna dialogowego interfejsu jQuery z powodu nowej aktualizacji IE (KB2761451)

Używam następujący wiersz kodu, aby zamknąć okno dialogowe

$('#' + dialogName).dialog('close'); 

Aby odinstalować aktualizację IE nie jest to trwałe rozwiązanie. jak mogę trwale rozwiązać ten problem ????

+0

Czy jest to w "document.ready'? Czy próbowałeś na przykład: '$ dialog = $ ('#' + dialogName) .dialog ({close: function() {$ dialog.dialog ('close');}});'? – Valky

+3

Mam zainstalowaną tę aktualizację i nie mam problemu z zamykaniem okien dialogowych jQuery. Może to być inna wtyczka, która wywołuje ten błąd. – shanabus

+0

Czy próbowałeś zmienić jquery lub wersję jquery ui? – Shawn

Odpowiedz

1

Nie można wywołać funkcji .dialog(), zanim DOM jest gotowy w IE. Przenieś swoje połączenie do test() zamiast $ (document) .ready();

0

Okno dialogowe zamyka się przed awarią IE? Co stanie się, jeśli zablokujesz przy użyciu funkcji catch catch?

try{ 
    $('#' + dialogName).dialog('close'); 
}catch(e){ 
    alert(e); 
} 
1

Mam ten sam problem, ale w moim przypadku było 3 wymagane warunki:

1) przy użyciu jQuery UI 1.10.3 (z 1.9.2 działa dobrze)

2) w skrypcie strony znajdowały się skrypt, który dodaje formularz do ciała:

jQuery('<form id="frmId" method="post" action="page.aspx"></form>') 
    .appendTo("body"); 

3) pokaż dialogowym modalne:

$("<div/>").dialog({modal}); 

usuwając wszelkie tego warunku rozwiązać ten problem dla mnie :)

, a na przykładzie jsfiddle.net: http://jsfiddle.net/Zm3Qm/1/

1

Śledziłem ten błąd w dół do konieczności elementy formularza w moim oknie. Uruchomienie .empty(); aby wyczyścić zawartość zawierającą formularz przed zamknięciem okna dialogowego zatrzymany IE9 przed awarią.

Powiązane problemy