快捷搜索:   服务器  PHP  安全  IIS  linux 安全

一个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://host.bnxb.com/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://host.bnxb.com/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://host.bnxb.com/vps/26994.html' title='' target='_blank'><font color='red'>广告位招租</font></a> ";
}

if(document.getElementById("mixcode"))
{
document.getElementById('mixcode').innerHTML = "<a href='https://host.bnxb.com/vps/26994.html' title='' target='_blank'><font color='red'>广告位招租</font></a> ";
}
break;
        
default:
document.getElementById('articlebanner').innerHTML = "<a href='http://freehost.bnxb.com/' title='' target='_blank'>免费空间申请 </a> ";
document.getElementById('mixcode').innerHTML = "<a href='http://freehost.bnxb.com/' title='' target='_blank'>免费空间申请 </a> ";
    }
</script>

将以上内容保存成一个js 文件,然后直接放置在需要显示广告的位置


这里语句中加入了IF判断ID是否存在的方法,不加这个判断的话,如果某个ID不存在就会影响它下面语句的加载,造成这个ID后面的广告都不被加载,这个问题详见https://www.bnxb.com/javascript/27163.html

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论