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

时间:2013-10-17 17:04:15

标签: javascript

我有一个像素脚本,我只想在某个页面上插入。由于我们糟糕的CMS,我不能将它添加到页面本身,但我可以将它添加到主模板ASP(我认为它是ASP)文件。我认为在Javascript中这样做最容易。

现在我的头脑中有这个,但我不认为在头部打印像素脚本会起作用:

<script>
if (location.href.indexOf("http://site.com/page1") !== -1) {
document.write('<script src="yadayada" type="text/javascript"></script>');
}
</script>

2 个答案:

答案 0 :(得分:1)

<script>
if (location.href.indexOf("http://site.com/page1") !== -1) {
     var script = document.createElement("script");
     script.src="yadayada.js";
     script.type="text/javascript";
     script.onload=function(){
     // callback after script loading is complete
     // your script dependent code goes here
 }
document.body.appendChild(script)
}
</script>

这就是它可以做到的方式

答案 1 :(得分:1)

显然,在后端执行此操作会更好,但如果你真的不能,那么你的代码就出现了问题:

您尝试附加到文档的字符串的</script>部分实际上是在头部关闭脚本标记。

这是避免此问题的常用方法:

document.write('<script src="yadayada" type="text/javascript"></' + 'script>');

其他解决方案是使用document.createElement创建脚本元素:

var script   = document.createElement("script");
script.type  = "text/javascript";
script.src  = "example.com/somescript.js"; 
document.body.appendChild(script);