Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果URL与此匹配,请在打开body标记后插入脚本_Javascript - Fatal编程技术网

Javascript 如果URL与此匹配,请在打开body标记后插入脚本

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

我有一个像素脚本,我只想在某个页面上插入。由于我们糟糕的CMS,我无法将其添加到页面本身,但我可以将其添加到主模板ASP(我认为它是ASP)文件中。我觉得用Javascript做这件事最简单

现在我的脑袋里有这个,但我认为在脑袋里打印像素脚本是行不通的:

<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);