J'ai une application en cours d'exécution dans une application HTA (MSFT HTML Application) qui utilise le même fichier de script encore et encore à travers les cadres; Comme cela frappe 9 dans des endroits et que l'application est installée dans divers serveurs avec la mise en cache mis à expiration immédiate, je suis en train de sculpter une sorte de performance dans cette boule de boue.Cross Frame Script Réutilisation
Y at-il une 'bonne' façon de charger le fichier principal de script dans le cadre supérieur Executing puis dans les cadres c.-à-
--- TOP WINDOW ----
var MainScript = function(){ return (function(){ all current functions etc here })(); };
- - SUB Cadres ----
var FrameScript = top.MainScript;
FrameScript();
et comment cela serait-il affecté par la portée de la fenêtre (serait-il garder la portée de fenêtre supérieure ou être portée du cadre fenêtre)
Cette approche supprime le allers-retours répétés sur le serveur, mais à plusieurs reprises 'eval's même javascript. Il serait plus efficace de charger la bibliothèque js dans la fenêtre de niveau supérieur et d'appeler ses fonctions directement (ou d'utiliser 'apply',' call', ou 'bind' si vous en avez besoin dans le contexte de la fenêtre frame objet). – Doin
@Doin comme il y a 3 ans; et comme toute personne mettant en œuvre un système cela mérite mal de faire faillite. Je suis enclin à ne pas m'en soucier: D Par souci de clarté, chaque sous-trame était personnalisable (au niveau xml) pour différents flux de travail, etc. et les scripts devaient s'exécuter dans le contexte de la sous-trame. Il est possible de le faire en appelant la lib parente et en passant la fenêtre comme référence, mais la quantité de shit JS dans ce site a rendu la solution/implémentation plus simple (sans réécrire 50K + lignes de mauvais JS) –