2017-09-21 2 views
0

Je ai une application construite sur le framework ExtJS, après la connexion, initialement un fichier 'head.js' est chargé, où la première chose qu'il ajoute au corps du document est une superposition "Chargement ...".document.readyState == "complète" bien plus tôt dans IE10 + que Chrome ou FF?

Afin de se débarrasser de cette superposition après le chargement du contenu, j'ai ajouté un écouteur 'onreadystatechange' au document. Pour une raison quelconque, lorsque l'écouteur est ajouté dans IE, les documents readyState sont déjà 'complets', alors qu'au même moment dans FF et Chrome, readyState est toujours défini sur 'interactive' et se déclenche correctement.

Pourquoi IE configure-t-il le readyState à «terminer» beaucoup plus tôt que Chrome et FF? Y at-il quelque chose de mieux à écouter qui fonctionnerait sur les trois navigateurs?

Répondre

0

Vous ne savez pas si c'est ce que vous recherchez, mais vous pouvez supprimer la superposition de chargement dans la méthode Ext.app.Application.init().

Une méthode de modèle appelée au démarrage de votre application. Il est appelé avant que la fonction de lancement de Ext.app.Application soit exécutée, donc donne un point d'ancrage pour exécuter n'importe quel code avant que votre Viewport ne soit créé.

éleminez mon overlay de chargement comme ceci:

Ext.define('MyApp.Application', { 
    ... 
    init: function() 
    { 
     // Remove loading overlay 
     Ext.query('body')[0].innerHTML = ''; 
    } 
    ... 
});