Javascript 如果URL与此匹配,请在打开body标记后插入脚本
我有一个像素脚本,我只想在某个页面上插入。由于我们糟糕的CMS,我无法将其添加到页面本身,但我可以将其添加到主模板ASP(我认为它是ASP)文件中。我觉得用Javascript做这件事最简单 现在我的脑袋里有这个,但我认为在脑袋里打印像素脚本是行不通的:Javascript 如果URL与此匹配,请在打开body标记后插入脚本,javascript,Javascript,我有一个像素脚本,我只想在某个页面上插入。由于我们糟糕的CMS,我无法将其添加到页面本身,但我可以将其添加到主模板ASP(我认为它是ASP)文件中。我觉得用Javascript做这件事最简单 现在我的脑袋里有这个,但我认为在脑袋里打印像素脚本是行不通的: <script> if (location.href.indexOf("http://site.com/page1") !== -1) { document.write('<script src="yadayada" type
<script>
if (location.href.indexOf("http://site.com/page1") !== -1) {
document.write('<script src="yadayada" type="text/javascript"></script>');
}
</script>
如果(location.href.indexOf(“http://site.com/page1") !== -1) {
文件。写(“”);
}
如果(location.href.indexOf(“http://site.com/page1") !== -1) {
var script=document.createElement(“脚本”);
script.src=“yadayada.js”;
script.type=“text/javascript”;
script.onload=function(){
//脚本加载完成后的回调
//您的脚本相关代码位于此处
}
document.body.appendChild(脚本)
}
这就是如何做到的显然,最好是在后端完成,但如果您确实无法做到,下面是您的代码的错误: 您试图附加到文档的字符串的
部分实际上正在关闭头部的脚本标记
这是避免此问题的常用方法:
document.write('<script src="yadayada" type="text/javascript"></' + 'script>');
为什么不在解析页面时使用服务器端呢?我不知道ASP,这是一个很弱的借口,我知道。因此,如果我只想将yadayada.js文件添加到文档主体中,并且没有依赖代码,我不需要在您注释掉的行中添加任何内容?我收到一个错误:
uncaughttypeerror:无法在脚本的最后一行调用null的方法“appendChild”,因为您的脚本位于head中。渲染时,浏览器没有可附加子对象的主体。在主体内编写此代码,它将正常工作。我将其放在开始主体标记之后,但当我查看源代码时,我只看到带有If语句的脚本。
document.write('<script src="yadayada" type="text/javascript"></' + 'script>');
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "example.com/somescript.js";
document.body.appendChild(script);