2016-01-06 1 views
0

Background: J'essaie de faire fonctionner une page Web dans un portail. Portal tire une page d'un site construit sur Adobe AEM, qui utilise ext JS, ce qui ajoute à la complexité. Mais la page d'intérêt a beaucoup de JS inclus (~ 30), mais les bandeaux de portail les en-têtes, les barres de navigation et/ou les JS directs incluent l'utilisation de balises de script de la page et ne récupèrent que du contenu. Donc, ma stratégie est de voir ce que JS est nécessaire et de les inclure directement dans le portail et cela fonctionne dans la plupart des cas. Mais dans ce cas précis où dans Ext Js est impliqué, je suis incapable d'accomplir la même chose.Comment déterminer la véritable hiérarchie des fichiers JS chargés dans une page Web

Je vois beaucoup de fichiers JS dans l'outil de développement chrome, mais je n'arrive pas à déterminer la bonne hiérarchie des fichiers, de sorte que je puisse les inclure manuellement du côté du portail.

J'ai essayé de passer par le initiator dans l'onglet dev toolsnetwork, mais beaucoup de fichiers ont le même initiateur. Donc, des idées intelligentes sur la façon de déterminer la bonne hiérarchie? Ou y a-t-il un problème fondamental qui me manque et qui m'interdira de faire cela?

P.S Je peux ajouter plus d'informations/données si nécessaire.

+0

il could être " un problème fondamental ... ", cela dépend. Pardon. – dandavis

Répondre

0

Si j'ai bien compris, vous avez besoin d'un ordre de chargement des classes ExtJS sur une page et cela vous aide à déterminer l'ordre correct pour inclure les fichiers JS. Vous pouvez utiliser Ext.Loader.history. Il suffit de le lancer dans la console. Et si vous pouvez injecter des scripts linq.js, vous pouvez utiliser mon extrait que je l'utilise pour l'application ASP.NET MVC

function replaceAll(replace, str) { 
    return str.replace(/\./g, replace); 
}; 
JSLINQ(Ext.Loader.history).Where(function(item){ return item.indexOf("HelloExt") !=-1 || item.indexOf("Ext.ux") !=-1; }) 
.Select(function(item){ 
if(item.indexOf("HelloExt") !=-1) {return "~/Scripts/"+replaceAll("/",item)+".js"} 
else if(item.indexOf("Ext.ux") !=-1){ 
return "~/Scripts/helloext/extjs/examples/ux/"+replaceAll("/",item).replace("Ext/ux/","")+".js" 
}}).ToArray() 

Il suffit de remplacer HelloExt avec le nom de votre application et ~/Scripts/.. avec chemin correct