2009-10-20 4 views
17

Kann ich mich darauf verlassen, dass das Ereignis zum Entladen des Fensters ausgelöst wird, wenn ein Benutzer eine Registerkarte/ein Fenster/einen Browser schließt?DOM Window Entladen Ereignis, ist es zuverlässig?

Edit:

Gefunden eine Liste, was das Unload-Ereignis in IE auslöst. http://msdn.microsoft.com/en-us/library/ms536973%28VS.85%29.aspx

Ich möchte wissen, in welchen Rand Fällen das Entladen Ereignis nicht ausgelöst wird.

+0

Sie müssen mehr Anwendungsfall geben - was wollen Sie mit dem Entladen erreichen? Es gibt möglicherweise andere Möglichkeiten, dieses Feature zu implementieren, als Ereignisse zu entladen. – Chii

Antwort

4

Nicht unter allen Umständen nicht. Der Browser könnte abstürzen usw., sodass das Ereignis nicht ausgelöst wird. Der Benutzer könnte auch Add-ons wie Grease Monkey verwenden, um zu verhindern, dass das Ereignis auch ausgelöst wird.

+2

Deshalb habe ich gesagt "wenn ein Benutzer schließt". Browser stürzt ab, Stromausfälle usw. sind ein anderer Fall. – bhseo

+0

Nun kann ein Benutzer den Browser immer noch schließen, indem er Task kill etc. verwendet. – kemiller2002

+0

Wenn Sie darauf angewiesen sind, zu feuern, um etwas aufzuräumen, können Sie nicht. – kemiller2002

8

Wahrscheinlich möchten Sie auch das Ereignis "onbeforeunload", it provides more control, als das Ereignis "onunload" verwenden.

Beachten Sie Folgendes: Opera löst das Entladeereignis nicht aus, wenn der Browser die Seite aktualisiert, oder verwendet die Zurück/Vorwärts-Tasten, um von der Seite zu navigieren. Was noch schlimmer ist, Opera feuert das onbeforeunload Ereignis nie ab. Wenn Sie also Opera unterstützen, sollten Sie sich dieser Probleme bewusst sein.

+0

Danke für die Opera Info. – bhseo

Verwandte Themen