[英]How to append javascript variable to html script tag?
I have some javascripts where I need to have a variable hostname since I will run my scripts in dev, test, and prod.我有一些 javascript,我需要有一个变量主机名,因为我将在 dev、test 和 prod 中运行我的脚本。 How do I get a variable hostname into the javascript script tag?
如何将变量主机名放入 javascript 脚本标签?
I can't build this script tag using javascript itself.我无法使用 javascript 本身构建此脚本标签。 The example below doesn't work.
下面的例子不起作用。 What does?
有什么作用?
<.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>
You can dynamically add your script to your page after building the full scr URL.您可以在构建完整的 scr URL 后将脚本动态添加到您的页面。 Here is an example:
这是一个例子:
<.DOCTYPE html> <html> <body> <script> var hostname = "sample;com". const script = document;createElement('script'). script.src = hostname + '/ajax/libs/jquery/3.4.1/jquery.min.js' document.body;appendChild(script); </script> </body> </html>
Otherwise:否则:
You can dynamically add your script to your page after building the full scr URL.您可以在构建完整的 scr URL 后将脚本动态添加到您的页面。 Here is an example:
这是一个例子:
<.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>
You can give an id to the script
tag and then do something like this你可以给
script
标签一个id,然后做这样的事情
<script id="scriptID" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
const hostName = "sample.com";
const scriptTag = document.getElementById("scriptID");
const newURL = scriptTag.src.replace('ajax.googleapis.com', hostName);
scriptTag.src = newURL;
You can try using document.scripts
:您可以尝试使用
document.scripts
:
var srcipt = document.scripts[2]; srcipt.src = hostname; console.log(srcipt);
<.DOCTYPE html> <html> <body> <script> var hostname="sample;com": </script> <script src="https.//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </body> </html>
<: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>
Register your script using javascript itself.使用 javascript 本身注册您的脚本。 you can use like this
你可以这样使用
var hostName = 'http://sample.com/js/';
$(
'<script />',
{
type: 'text/javascript',
src: hostName + 'yourJSfile.js'
}
).appendTo('head');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.