Nous avons quelques endroits où nous incluons des blocs en ligne <script>
qui exécutent le code, enveloppés par $(document).ready()
. Plusieurs de ces blocs utilisent des méthodes dépendant d'autres scripts externes. Pendant l'exécution normale de la page, cette technique fonctionne correctement, mais lorsque l'utilisateur quitte la page avant d'être complètement chargé, l'événement $(document).ready()
est déclenché et IE renvoie "Object does not support this property or method"
erreurs à gauche et à droite..ready() déclenché après window.beforeunload
Grâce à quelques tests que j'ai découvert que l'événement window.beforeunload
est déclenché avant que les événements ready
, je donc aimerais pouvoir empêcher les événements ready
d'être déclenché à ce moment-là. Idéalement, j'aimerais avoir une solution qui généralise afin de ne pas avoir à modifier tout le code en ligne.
Si ce n'est pas possible, suggérez-vous d'envelopper tout le code en ligne dans les blocs try-catch
, en déterminant si tous les scripts externes ont été chargés avant d'exécuter le code en ligne, etc?
Est-ce que vous chargez vos plugins jquery __after__jquery et __avant__ vos appels 'document.ready'? –
alors vous insérez un fichier script dans le gestionnaire 'onbeforeunload'? – jAndy
La mise à niveau vers jQuery 1.4.3 dans quelques jours est-elle une option? Il ajoute la possibilité de retarder les gestionnaires 'ready'. –