一个JS文件实现同个网站通过不同域名访问调用不同的广告内容
在给客户开发一个网站的过程中遇到一个需求,客户有一套固定模板,这个固定模板在好几个不同的二级域名下使用,而模板中有插入JS文件的方式来调用广告,在不想单独给不同二级域名重新写模板的情况下,想通过这个JS文件来实现,在同个位置,不同二级域名显示不同广告内容。
代码详见:
在原来需要放置广告的位置插入
广告位:(这种方式可以把JS文件放在页面的最底部,防止广告加载速度慢拖慢整个页面)
<span id="aa"></span>
然后将JS代码改成
<script> var url = document.location.href; alert(url); url = url.split(".")[0]+"."+url.split(".")[1]; alert(url); switch(url){ case "https://www.bnxb": document.getElementById('aa').innerText = "广告内容1"; break; case "https://host.bnxb": document.getElementById('aa').innerText = "广告内容2"; break; case "https://office.bnxb": document.getElementById('aa').innerText = "广告内容3"; break; default: document.getElementById('aa').innerText = "广告内容4"; } </script>
这样就能实现在不同域名下用同一个JS调用出不同内容了。其中各个CASE是用来判断域名情况,default则是用于不符合上面CASE的情况下执行的内容,另外如果不需要延迟加载,也就是不需要放置第一步的SPAN,可以将
document.getElementById('aa').innerText = "广告内容";
改成
document.writeln(广告内容);
这种调用方式
另外如果你的广告内容是HTML代码那你需要将.innerText改成.innerHTML
你只需要把上面的域名改成你实际的就行了,如果不知道你的域名会显示成什么样,可以加alert(url);做个断点调试
类似这样:
<script>
var url = document.location.href;
alert(url);
url = url.split(".")[0]+"."+url.split(".")[1];
alert(url);
switch(url){
case "https://www.bnxb":
document.getElementById('aa').innerText = "广告内容1";
break;
case "https://host.bnxb":
document.getElementById('aa').innerText = "广告内容2";
break;
case "https://office.bnxb":
document.getElementById('aa').innerText = "广告内容3";
break;
}
</script>
附上我们的一个实用案例
<script> document.writeln("<span id=\"aa\"></span>"); var url = document.location.href; url = url.split(".")[0]+"."+url.split(".")[1]; switch(url){ case "https://www.bnxb": if(document.getElementById("articlebanner")) { document.getElementById('articlebanner').innerHTML = "<a href='https://www.bnxb.com/host/vps/26994.html' title='' target='_blank'><font color='red'>搬瓦工VPS电信联通直连$18.79/年</font></a> "; } if(document.getElementById("mixcode")) { document.getElementById('mixcode').innerHTML = "<a href='https://www.bnxb.com/host/vps/26994.html' title='' target='_blank'><font color='red'>搬瓦工VPS电信联通直连$18.79/年</font></a> "; } break; case "https://host.bnxb": if(document.getElementById("articlebanner")) { document.getElementById('articlebanner').innerHTML = "<a href='https://www.bnxb.com/host/vps/26994.html' title='' target='_blank'><font color='red'>广告位招租</font></a> "; } if(document.getElementById("mixcode")) { document.getElementById('mixcode').innerHTML = "<a href='https://www.bnxb.com/host/vps/26994.html' title='' target='_blank'><font color='red'>广告位招租</font></a> "; } break; default: document.getElementById('articlebanner').innerHTML = "<a href='http://freewww.bnxb.com/host/' title='' target='_blank'>免费空间申请 </a> "; document.getElementById('mixcode').innerHTML = "<a href='http://freewww.bnxb.com/host/' title='' target='_blank'>免费空间申请 </a> "; } </script>
将以上内容保存成一个js 文件,然后直接放置在需要显示广告的位置
这里语句中加入了IF判断ID是否存在的方法,不加这个判断的话,如果某个ID不存在就会影响它下面语句的加载,造成这个ID后面的广告都不被加载,这个问题详见https://www.bnxb.com/javascript/27163.html
- 最新评论