关于js广告被屏蔽时的解决办法

关于广告被屏蔽时的解决办法1


获取整个页面的a标签的href,target,onclick跳转 
存进一个数组


获取广告,当被影藏或找不到时,
修改全部的a标签,使其跳转到广告页面,
第一次点击后,把数组里的数据全部返回给a标签,
第二次点击正常
代码如下:
html部分:


<div class="aaa" style="width: 100px;height: 100px;background: black;display: none;"></div>
<a href="http://www.baidu.com" target="_blank"><div></div></a>
<a href="http://www.baidu.com" ><div></div></a>
<a href="http://www.baidu.com" onclick="" target="_blank"><div></div></a>
<!--&lt;!&ndash;<a href="javascript:void(0);" onclick="window.location.href='http://www.baidu.com'" target="_blank"><div></div></a><br/>&ndash;&gt;只会当前页面打开-->
<a href="javascript:void(0);" onclick="window.open('http://www.baidu.com','_blank');" target="_blank"><div></div></a><br/>
<a href="javascript:void(0);" onclick="window.open('http://www.baidu.com','_blank');" target="_blank">




js部分:


    window.onload=function () {
      var aaa=document.getElementsByClassName("aaa");
      var a=document.getElementsByTagName("a");


        console.log(a);
        console.log(aaa)
      var array=[];
//      var click=true;




        for(var i=0;i<a.length;i++){
        if(a[i].getAttributeNode("onclick")==null){
          console.log("111")
          click="";


        }else{
          click=a[i].getAttributeNode("onclick").nodeValue;
        }
//        click=true;
          array.push({href:a[i].href,target:a[i].target,click:click});


        }
      console.log(array);
        //||aaa[0].style.visibility=="hidden"
        if(aaa[0].style.display=="none"){


          for(var i=0;i<a.length;i++){
            a[i].href="http://www.youku.com";
            if(a[i].getAttributeNode("onclick")==null){
              var kaiguan=true;
              a[i].onclick=function () {


               dianji();
               console.log(kaiguan)
              }




            }else{
              a[i].getAttributeNode("onclick").nodeValue=null;
              var kaiguan=true;
              a[i].onclick=function () {


                dianji();
                console.log(kaiguan)
              }
            }
            a[i].target="_blank";
          }


        }
           /* if(kaiguan){


            }else{
              a.onclick= function () {
                dianji()
              }
            }*/
      function dianji() {
        if(!kaiguan){
          for(var i=0;i<a.length;i++){
            a[i].href=array[i].href;
            if(a[i].getAttributeNode("onclick")==null){


            }else{
              a[i].getAttributeNode("onclick").nodeValue=array[i].click;
            }
            a[i].target=array[i].target;
          }
        }else{
          kaiguan=false;
        }


      }
console.log(a)


    }












还有一点问题:如果是a标签的onclick事件,第二次点击不会弹出原来的地址,第二次只会改变地址,第三次才能弹出原来的

猜你喜欢

转载自blog.csdn.net/qq_32539519/article/details/79361807