J'ai un javascript externe sur ma page, par ex. quelque chose comme:Recharger le javascript externe après la publication asynchrone via UpdatePanel
<script src="http://foo.com/script.js" type="text/javascript"></script>
et un UpdatePanel quelque part. Le script écrit du contenu, et cela à partir d'une fonction javascript anonyme dans le fichier js. À savoir, il y a quelque chose comme ça dans le script:
(function(){document.write('content');})();
Chaque fois que le UpdatePanel est mis à jour par publication asynchrone, tout le script fait (ou tout javascript sur ma page, pour cette question) est une action de retour. Pour javascript normal, je voudrais simplement utiliser:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myFunction)
refaire tout cela, mais étant donné que la fonction dans le fichier source du script est anonyme et fait appel à la définition, je suis SOL! Des idées?
Remarque: la source externe js provient d'un autre domaine et son contenu est hors de mon contrôle.
Peu importe que votre fonction est anonyme. Vous pouvez le nommer et l'appeler globalement très bien. Le vrai problème va être 'document.write'. L'appeler après le chargement de la page signifie que tout le contenu de la page statique va être effacé. –
En fait, je ne suis même pas sûr que le javascript externe fasse un document.write. Il pourrait juste créer un nouveau nœud de document et l'ajouter à la page. Le script est un gros gâchis obscurci, et il y en a plus d'un en fait. Le problème est, je n'ai aucun contrôle sur le contenu de ces scripts. Ils ont cette fonction appelée anonymement, et je dois simplement y faire face. –
Je viens de le vérifier fait un document.write et vient de rencontrer le «essuyer» Crescent prophétisé. Boules de singe de merde sainte. –