Javascript - insérer un .js sous conditions
Jaina
-
Jaina -
Jaina -
Bonjour !
Je travaille actuellement sur une amélioration du plugin iSPIP de SPIP pour ceux qui connaissent.
Je rencontre un problème :
- Je souhaite insérer cette ligne de code
L'insertion de cette ligne dans mon <body> ne pose pas de problème mais si j'applique une condition avec du javascript, ça ne fonctionne pas. En gros, j'ai ceci :
Ça me sort :
Est-ce que ma ligne de code est erronée ? Est-ce que c'est possible au moins ? :P
Merci d'avance de votre aide.
Je travaille actuellement sur une amélioration du plugin iSPIP de SPIP pour ceux qui connaissent.
Je rencontre un problème :
- Je souhaite insérer cette ligne de code
<script type="application/x-javascript" src="#CHEMIN{iui/iui.js}"></script>dans mon <body> mais seulement si elle n'a pas déjà était inséré.
L'insertion de cette ligne dans mon <body> ne pose pas de problème mais si j'applique une condition avec du javascript, ça ne fonctionne pas. En gros, j'ai ceci :
<script type="text/javascript"> var div = document.getElementById("js" ) if (!div) { // Si ma ligne de code n'existe pas encore document.write('<div id="js"><script type="application/x-javascript" src="#CHEMIN{iui/iui.js}"></script></div>'); } </script>
Ça me sort :
'); }sur ma page, la condition fonctionne, mais le document.write est incorrect.
Est-ce que ma ligne de code est erronée ? Est-ce que c'est possible au moins ? :P
Merci d'avance de votre aide.
A voir également:
- Javascript - insérer un .js sous conditions
- Insérer video powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Insérer sommaire word - Guide
- Insérer espace insécable word - Guide
2 réponses
Bonjour,
Le javascript étant éxécuté coté client uniquement (envoyé par le serveur), on voit donc que ce que tu écrit n'est pas possible.
Explication:
Ton serveur envoi l'ensemble de ton code javascript (celui qui inclut la condition pour appelé ton fichier js externe). Le client l'exécute et là... dans ton élément HTML DIV tu demande d'exécuter un script qui... n'existe pas du coté du client puisque non envoyé par le serveur (du moins je suppose)
Il faut donc trouver une alternative, mais pour l'instant c'est le temps du repas ;)
Le javascript étant éxécuté coté client uniquement (envoyé par le serveur), on voit donc que ce que tu écrit n'est pas possible.
Explication:
Ton serveur envoi l'ensemble de ton code javascript (celui qui inclut la condition pour appelé ton fichier js externe). Le client l'exécute et là... dans ton élément HTML DIV tu demande d'exécuter un script qui... n'existe pas du coté du client puisque non envoyé par le serveur (du moins je suppose)
Il faut donc trouver une alternative, mais pour l'instant c'est le temps du repas ;)
Le problème de mon travail est que, dans la version d'iSPIP que j'ai repris, tous les liens css/js se font à la page principale. Hors, si après une recherche j'atterris sur une autre page (sans passer par la page principale) ==> BOOM, plus de css, plus de javascript. Il y a un problème de lien et si je m'amuse à insérer les css et js dans chaque page, ça me les duplique et je me retrouve avec n'importe quoi (menu plusieurs fois affichés, redirections bidons etc.).
C'est pour ça que je souhaite l'initialiser 1 seule fois.
Seulement je viens de m'apercevoir qu'à chaque nouvelle page, celle-ci est entièrement générée et donc mon test de div n'est pas bon et inutile.
Je recommence du début et te tiens au courant.
Merci quand même :P
C'est pour ça que je souhaite l'initialiser 1 seule fois.
Seulement je viens de m'apercevoir qu'à chaque nouvelle page, celle-ci est entièrement générée et donc mon test de div n'est pas bon et inutile.
Je recommence du début et te tiens au courant.
Merci quand même :P
Le problème est que, à cause de SPIP, je n'utilise pas de PHP.
Et après avoir tester la plupart des fonctions de SPIP, aucune ne répond à mon problème.
Je suis donc coincé avec le javascript, et je cherche désespérément une autre solution mais je n'en vois pas :P Si quelqu'un a une idée !
Merci.
Ensuite tu inclus ce fichier en début de page (ce sera donc toujours inclus), et tu fais appel à cette fonction uniquement si ta condition est validée.
Après, ce genre de façon n'est peut-être pas possible à cause du genre de traitement que fait ton script ?