Update: 百度音乐盒广告更换位置,在右侧和顶部均有广告,特发布版本2
下载地址:https://chrome.google.com/webstore/detail/baidu-mp3-free-with-ad/gcahhpnfbbhciaepdgmankdngdiphlpa
1 /* 2 + 作用描述: 3 去掉百度音乐盒中的广告,包括右侧和顶部 4 5 Author:xnhandt 6 Date : 2013-5-11 7 Version 2 8 9 + 右侧广告删除方法: 10 1. 删除 .column4 11 2. 将 .column3,right改为0,width改为250+171px = 421px 12 +顶部广告删除方法 13 直接删除 div#toptip 14 */ 15 var isRemoved = false; // 判断广告是否已经移除 16 var count = 1; // 对意外情况的循环次数(网速很差的情况) 17 18 function removeAD(){ 19 var divAD = document.getElementsByClassName('column4'); 20 // divAD != undefined 确保广告已经载入 21 if(!isRemoved && divAD != undefined){ 22 // 1.直接删除 .column4 23 divAD[0].parentNode.removeChild(divAD[0]); 24 // 2.修改column3的样式 25 var divC3 = document.getElementsByClassName('column3')[0]; 26 divC3.style.width = "421px"; 27 divC3.style.right = 0; 28 // 3. 去除顶部广告 29 var divTopAD = document.getElementById("toptip"); 30 divTopAD.parentNode.removeChild(divTopAD); 31 // 4. 已经修改完毕 32 isRemoved = true; 33 }else{ 34 // 3s 之后再次执行脚本,最多循环三次,避免注册用户多次执行 35 if(count <= 3){ 36 setTimeout(this.callee, 3000); 37 count++; 38 } 39 } 40 } 41 // 3s 后开始执行脚本 42 setTimeout(removeAD, 3000);
先看效果图:
实现比较简单:通过DOM方法移除广告对应的div,并修改音乐列表class的样式。
直接看代码:
1 function sleep(n) 2 { 3 var start=new Date().getTime(); 4 while(true){ 5 if(new Date().getTime()-start>n){ 6 break; 7 } 8 } 9 } 10 11 function delAD(e){ 12 var divAD = document.getElementsByClassName('ecom-ads-wrap'); 13 // 直接删除 14 divAD[0].parentNode.removeChild(divAD[0]); 15 var divList = document.getElementsByClassName('ui-reelList-viewport'); 16 divList[0].style.bottom = 0; 17 }; 18 // 5s 之后执行函数 19 setTimeout(delAD,5000);