Dans jQuery Mobile, je peux définir des "pages mobiles" comme div
s avec data-role=page
.Débogage de scripts injectés jQuery Mobile
Ceux-ci peuvent être stockés dans d'autres fichiers HTML, et injectés ad hoc dans la page HTML principale.
Dans un tel div
je peux mettre un tag script
, et ce script sera également injecté dans ma page principale.
Le script n'apparaît pas comme une balise script
dans mon DOM, mais semble plutôt être injecté en ligne, et n'apparaît donc pas de manière standard dans un débogueur, par exemple. Le panneau de script de FireBug.
Est-ce que quelqu'un a trouvé un moyen normal de déboguer ces scripts (heureusement dans FF ou Chrome)?
EDIT:
Juste pour préciser - La balise de script dans la page "autre" n'est pas un script en ligne. C'est un:
<div data-role="page" id="some_id">
<script type="text/javascript" src="MyScript.js"></script>
...
</div>
Néanmoins, il est injecté en tant que script en ligne au DOM. BTW - si je mets la balise de script dans le HEAD du HTML, elle n'est pas chargée du tout.
EDIT 2:
Plus précisions:
J'écris un cadre dans lequel "modules d'extension" seront branchés sur le site client et de la décision qui module (par exemple des pages supplémentaires » "avec des scripts) à charger est une décision d'exécution. Par conséquent, je n'ai aucune connaissance préalable dans ma page principale des scripts à charger, et je dois reporter le chargement au temps de "chargement du module".
Mon but final ici est de permettre aux développeurs "module" de déboguer leurs scripts. Pour cela je voudrais une solution où les fichiers de script de références sont disponibles dans FireBug/ChromeDevTools comme n'importe quel autre script.
Il semble que c'est la norme jquery (noyau, non mobile) comportement pour supprimer la balise de script à partir d'un html chargé AJAX et eval il en ligne, au lieu de laisser la balise de script là-bas et laisser le navigateur charger normalement .
Je ne comprends pas vraiment bien les motifs derrière tout cela, et il entrave vraiment mes options de débogage :-(
BTW, j'utilise jQuery 1.5.2 (même comportement avec 1.5.1) et jQuery alpha mobile 4 (même avec 3)
Merci naugtur, Voir mon EDIT ci-dessus - pensez-vous que (balise de script référençant un JS externe) devrait fonctionner de la boîte? – ob1
Ouais ... si ce n'est pas dans la tête d'une première page html, je l'appelle en ligne;) – naugtur
Merci encore :-) IIUC, votre édition suggère que j'inclue le script (que je veux charger avec l'injection HTML) dans la page HTML principale pour commencer. Si oui, s'il vous plaît voir mon [EDIT 2] pour voir pourquoi ce n'est pas faisable dans mon cas. D'autres idées? – ob1