Remove ads from Baidu search
目前為
// ==UserScript==
// @name AdBlock-Baidu
// @name:zh-CN 百度搜索去广告 + 反重定向
// @namespace https://greasyfork.org/zh-CN/users/42351
// @require https://code.jquery.com/jquery-3.2.1.min.js
// @version 0.5
// @description Remove ads from Baidu search
// @description:zh-CN 移除百度搜索中的广告,解析重定向地址为直接地址
// @author Antecer
// @include http*://www.baidu.com/*
// @grant GM_xmlhttpRequest
// @connect baidu.com
// @compatible chrome 测试通过
// ==/UserScript==
jQuery.noConflict();
(function($) { $(function() {
// 左侧广告选择器
var leftAd = ['span:contains(广告)',
'font:contains(广告)',
'a[href*="bzclk.baidu.com"]'
];
// 右侧广告选择器
var rightAd = ['a:contains(品牌广告)',
'.ad-block',
'a[href*="bzclk.baidu.com"]'
];
var SelectL = leftAd.join(','), SelectR = rightAd.join(',');
setInterval(function(){
$('#content_left').find(SelectL).parentsUntil('#content_left').remove(); // 移除左侧广告
$('#content_right').find(SelectR).parentsUntil('#content_right td').remove(); // 移除右侧广告
$('#content_right br').remove(); // 移除右侧空行
},200);
// 检索搜索结果,解析重定向地址为直接地址
function direct(){
$.each($('#content_left a[href*="baidu.com/link"]'), function (n,value) {
(function (targURL) {
var thisReq = GM_xmlhttpRequest ( {
url:targURL,
method: "GET",
onreadystatechange: function (result) {
if(/finalurldhdg/.test(result.responseHeaders)){
$("a[href='"+targURL+"']").attr("href", result.responseHeaders.match(/finalurldhdg: (.*?)\r\n/)[1]);
}
if(result.readyState > 2) thisReq.abort();
}
} );
} ) (value);
});
}
direct();
// 监听页面标题变动,以达到监听搜索内容变化的目的
$('title').bind('DOMNodeInserted', function(e) {
direct();
});
});})(jQuery);