J'ai des javascripts où je dois avoir un nom d'hôte variable depuis que je vais exécuter mes scripts dans dev, tester et prod. Comment obtenir un nom d'hôte variable dans la balise de script JavaScript?
Je ne peux pas créer cette étiquette de script à l'aide de JavaScript lui-même. L'exemple ci-dessous ne fonctionne pas. Qu'est-ce que? P>
p>
<!DOCTYPE html> <html> <body> <script> var hostname="sample.com"; </script> <script src="https://" + hostname + "/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </body> </html>
4 Réponses :
Vous pouvez donner un identifiant à la balise code> code> et ensuite faire quelque chose comme ceci
Cela génère complètement une nouvelle URL à droite, mais j'ai juste besoin de remplacer uniquement " ajax.googleapis.com "
@Ganeshputta j'ai édité la réponse, voyez si cela aide :)
Vous pouvez ajouter de manière dynamique votre script à votre page après la construction de l'URL complète du SCR. Voici un exemple:
p>
<!DOCTYPE html>
<html>
<body>
<script src="%HOST_NAME%/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="%HOST_NAME%/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="%HOST_NAME%/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
var hostname = "sample.com";
var scripts = document.getElementsByTagName('script');
[ ...scripts ].forEach(script => {
script.src = script.src.replace('%HOST_NAME%', hostname);
})
</script>
</body>
</html>Merci, mais j'ai trop de tags de script dans ma page HTML, je ne peux donc pas créer toutes ces balises de script à l'aide de JavaScript.
Vous pouvez si vous utilisez une fonction dans une fonction pour ajouter un script à votre page. Sinon, vous pouvez analyser toutes vos balises de script sur la charge de la page et remplacer l'attribut SRC avec le nouveau. Si vous souhaitez modifier uniquement des tags de script, vous pouvez utiliser des attributs de classe pour cibler uniquement celle qui doit être mise à jour
<!DOCTYPE html>
<html>
<body>
<a href="" id="link"></a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
var hostname="sample.com";
//javascript
document.getElementById("link").href = hostname;
//jquery code
$("#link").attr("href",hostname);
</script>
</body>
</html> Enregistrez votre script à l'aide de JavaScript. Vous pouvez utiliser comme celui-ci