关于广告被屏蔽时的解决办法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" οnclick="" target="_blank"><div></div></a>
<!--<!–<a href="javascript:void(0);" οnclick="window.location.href='http://www.baidu.com'" target="_blank"><div></div></a><br/>–>只会当前页面打开-->
<a href="javascript:void(0);" οnclick="window.open('http://www.baidu.com','_blank');" target="_blank"><div></div></a><br/>
<a href="javascript:void(0);" οnclick="window.open('http://www.baidu.com','_blank');" target="_blank">
js部分:
window.οnlοad=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].οnclick=function () {
dianji();
console.log(kaiguan)
}
}else{
a[i].getAttributeNode("onclick").nodeValue=null;
var kaiguan=true;
a[i].οnclick=function () {
dianji();
console.log(kaiguan)
}
}
a[i].target="_blank";
}
}
/* if(kaiguan){
}else{
a.οnclick= 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事件,第二次点击不会弹出原来的地址,第二次只会改变地址,第三次才能弹出原来的
获取整个页面的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" οnclick="" target="_blank"><div></div></a>
<!--<!–<a href="javascript:void(0);" οnclick="window.location.href='http://www.baidu.com'" target="_blank"><div></div></a><br/>–>只会当前页面打开-->
<a href="javascript:void(0);" οnclick="window.open('http://www.baidu.com','_blank');" target="_blank"><div></div></a><br/>
<a href="javascript:void(0);" οnclick="window.open('http://www.baidu.com','_blank');" target="_blank">
js部分:
window.οnlοad=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].οnclick=function () {
dianji();
console.log(kaiguan)
}
}else{
a[i].getAttributeNode("onclick").nodeValue=null;
var kaiguan=true;
a[i].οnclick=function () {
dianji();
console.log(kaiguan)
}
}
a[i].target="_blank";
}
}
/* if(kaiguan){
}else{
a.οnclick= 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事件,第二次点击不会弹出原来的地址,第二次只会改变地址,第三次才能弹出原来的