// ==UserScript==
// @name 百度搜索去除n+
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 去除点击跳转百度
// @author MT-戒酒的李白染
// @match http*://*.baidu.com/from=*
// @match http*://*.baidu.com/s?word=*
// @match http*://*.baidu.com/s?from=*
// @grant GM_addStyle
// @require http://cdn.staticfile.org/jquery/2.1.4/jquery.min.js
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
var Flag_Title_css = `.component-box .praise {
padding-right: 20px;
background: #ff5722;
text-indent: 1em;
border-top-left-radius: 50px;
border-top-right-radius: 50px;
border-bottom-left-radius: 50px;
border-bottom-right-radius: 50px;
background: -webkit-linear-gradient(left,#ff5722,#f78d6b);
background: -o-linear-gradient(right,#ff5722,#f78d6b);
background: -moz-linear-gradient(right,#ff5722,#f78d6b);
background: linear-gradient(to right,#ff5722,#f78d6b);
}
.component-box .praise,.component-box .share {
/*width: 110px;
height: 34px;
line-height: 34px;*/
height:auto;line-height:normal;color: #fff;
}
.component-box a {
display: inline-block;
font-size: 14px;
}
.component-box {
/*margin: 0 auto;
text-align: center;
display: inline;*/
display: flex;
margin: 0;
text-align: left;
font-size: 0;
position: relative;
width: 260px;
}
`
function repalceLink_Event(){
function repalceA_Tag(DOM,new_href){
let aTag = Array.from(DOM.getElementsByTagName("a"));
aTag.forEach((item)=>{
item.href=new_href;
})
}
function addWebsiteFlag(DOM){
let WebsiteTitle = Array.from(DOM.getElementsByClassName("c-title-text"));
if(WebsiteTitle.length){
console.log(WebsiteTitle[0]);
let Title_Div = document.createElement("div");
Title_Div.className ='component-box';
Title_Div.innerHTML=`<a class="praise" href="javascript:;">CSDN下载</a>`;
WebsiteTitle[0].append(Title_Div);
}
}
function removeControl(){
$("#page-relative").remove();//末尾 ===>> 大家都在搜 广告位
$(".c-recomm-wrap.new-ux-recom-wrapper.c-bg-color-white.animation").remove();//中间 ===>> 大家都在搜 广告位
$("#pop-up").remove(); //跳转百度app提示
let searchWebSitePages = $(".c-result.result");
searchWebSitePages=Array.from(searchWebSitePages);
searchWebSitePages.forEach((items,index)=>{
let searchArticleOriginal_link = JSON.parse(items.dataset.log)['mu'];
if(searchArticleOriginal_link.match(/recommend_list.baidu.com/g)){
console.log('%c%s','color:blue;',"删除广告==>大家都在搜");
items.remove();
return
}
if(items.outerText.substr(0,5)=="大家还在搜"){
console.log('%c%s','color:blue;',"删除广告==>大家都在搜:显示出来的");
items.remove();
return
}
if(items.childNodes.length>1){
console.log('%c%s','color:blue;',"删除广告==>大家都在搜:隐藏的");
items.childNodes[1].remove();
return
}
if(items.getElementsByClassName('component-box').length==0&&searchArticleOriginal_link.match(/http(s|):\/\/download.csdn.net/g)){
addWebsiteFlag(items);
console.log("插入csdn标题");
}
if(items.hasAttribute("srcid")&&items.attributes.srcid.value.match(/(sigma|vid_fourfold)/g)){
console.log('%c%s','color:blue;',"删除推荐==>xxx 相关 xxx");
items.remove();
return
}
})
}
function replaceLink(){
let searchWebSitePages = $(".c-result.result");
searchWebSitePages=Array.from(searchWebSitePages);
searchWebSitePages.forEach((items,index)=>{
let searchArticleOriginal_link = JSON.parse(items.dataset.log)['mu'];
if(searchArticleOriginal_link){
//console.log(searchArticleOriginal_link);
let BaiduSearchReplaceAfter = items.getElementsByTagName("article")[0];
if(BaiduSearchReplaceAfter&&BaiduSearchReplaceAfter.hasAttribute('rl-link-href')){
let BaiduSearchReplaceAfterValue = BaiduSearchReplaceAfter.getAttributeNode("rl-link-href").value;
//console.log("篡改的 ===>> "+BaiduSearchReplaceAfterValue);
if(!BaiduSearchReplaceAfterValue.match(/http(s|):\/\/m.baidu.com\/from/g)){
console.info('%c%s','color:red;',"当前的 ===>> "+BaiduSearchReplaceAfterValue);
return
}
//BaiduSearchReplaceAfterValue=searchArticleOriginal_link;
if(BaiduSearchReplaceAfterValue.match(/http:\/\/www.internal.video.baidu.com/g)||searchArticleOriginal_link.match(/http:\/\/www.internal.video.baidu.com/g)){
let internalVideo = decodeURIComponent(BaiduSearchReplaceAfter.getAttribute("rl-link-data-log"));
let internalVideoMatch = internalVideo.match(/\/sf\?pd=video_pag(.*?)={/g)[0];
let newinternalVideo = internalVideoMatch.substring(0,internalVideoMatch.length-2);
console.log('%c%s','color:orange;',"修复后的视频:"+newinternalVideo);
//'console.log("替换后新视频:"+BaiduSearchReplaceAfter.getAttributeNode("rl-link-href").value);
BaiduSearchReplaceAfter.setAttribute("rl-link-href",newinternalVideo);
repalceA_Tag(items,newinternalVideo);
return
}else if(searchArticleOriginal_link.match(/http:\/\/m.baidu.com\/productcard/g)){
console.info('%c%s','color:red;',"该链接不予替换");
return
}else{
BaiduSearchReplaceAfter.setAttribute("rl-link-href",searchArticleOriginal_link);
repalceA_Tag(items,searchArticleOriginal_link);
//console.info('%c%s','color:red;',"修复后的 ===>> "+searchArticleOriginal_link);
}
}
}
})
}
function main(){
removeControl();
replaceLink();
}
main();
// var searchWebSitePages = $(".c-result.result");
// searchWebSitePages=Array.from(searchWebSitePages);
// searchWebSitePages.forEach((items,index)=>{
// let searchArticleOriginal_link = JSON.parse(items.dataset.log)['mu'];
// if(searchArticleOriginal_link.match(/recommend_list.baidu.com/g)){
// console.log('%c%s','color:blue;',"删除广告==>大家都在搜");
// items.remove();
// return
// }
// if(items.outerText.substr(0,5)=="大家还在搜"){
// console.log('%c%s','color:blue;',"删除广告==>大家都在搜:显示出来的");
// items.remove();
// return
// }
// if(items.childNodes.length>1){
// console.log('%c%s','color:blue;',"删除广告==>大家都在搜:隐藏的");
// items.childNodes[1].remove();
// return
// }
// if(items.getElementsByClassName('component-box').length==0&&searchArticleOriginal_link.match(/http(s|):\/\/download.csdn.net/g)){
// addWebsiteFlag(items);
// console.log("插入csdn标题");
// }
// if(items.hasAttribute("srcid")&&items.attributes.srcid.value.match(/(sigma|vid_fourfold)/g)){
// console.log('%c%s','color:blue;',"删除推荐==>xxx 相关 xxx");
// items.remove();
// return
// }
// if(searchArticleOriginal_link){
// //console.log(searchArticleOriginal_link);
// let BaiduSearchReplaceAfter = items.getElementsByTagName("article")[0];
// if(BaiduSearchReplaceAfter&&BaiduSearchReplaceAfter.hasAttribute('rl-link-href')){
// let BaiduSearchReplaceAfterValue = BaiduSearchReplaceAfter.getAttributeNode("rl-link-href").value;
// //console.log("篡改的 ===>> "+BaiduSearchReplaceAfterValue);
// if(!BaiduSearchReplaceAfterValue.match(/http(s|):\/\/m.baidu.com\/from/g)){
// console.info('%c%s','color:red;',"当前的 ===>> "+BaiduSearchReplaceAfterValue);
// return
// }
// //BaiduSearchReplaceAfterValue=searchArticleOriginal_link;
// if(BaiduSearchReplaceAfterValue.match(/http:\/\/www.internal.video.baidu.com/g)||searchArticleOriginal_link.match(/http:\/\/www.internal.video.baidu.com/g)){
// let internalVideo = decodeURIComponent(BaiduSearchReplaceAfter.getAttribute("rl-link-data-log"));
// let internalVideoMatch = internalVideo.match(/\/sf\?pd=video_pag(.*?)={/g)[0];
// let newinternalVideo = internalVideoMatch.substring(0,internalVideoMatch.length-2);
// console.log('%c%s','color:orange;',"修复后的视频:"+newinternalVideo);
// //'console.log("替换后新视频:"+BaiduSearchReplaceAfter.getAttributeNode("rl-link-href").value);
// BaiduSearchReplaceAfter.setAttribute("rl-link-href",newinternalVideo);
// repalceA_Tag(items,newinternalVideo);
// return
// }else if(searchArticleOriginal_link.match(/http:\/\/m.baidu.com\/productcard/g)){
// console.info('%c%s','color:red;',"该链接不予替换");
// return
// }else{
// BaiduSearchReplaceAfter.setAttribute("rl-link-href",searchArticleOriginal_link);
// repalceA_Tag(items,searchArticleOriginal_link);
// //console.info('%c%s','color:red;',"修复后的 ===>> "+searchArticleOriginal_link);
// }
// }
// //console.log(BaiduSearchReplaceAfter.hasAttribute['rl-link-href']);
// }
// })
}
var runNum = 0;
function replaceLink(){
$("script").forEach((items,index)=>{
if(items.text.match(/define\(\"@molecule\/aftclk\/index\",/g)){
console.log('%c%s','color:blue;',"删除跳转百度app提示js==>");
items.remove();
}
})
$(".search-page").bind("DOMNodeInserted",function(){
console.log("当前执行次数:"+runNum);
repalceLink_Event();
runNum=runNum+1;
})
}
function main_start() {
replaceLink();
}
GM_addStyle(".c-container.na-ec-item,.c-recomm-wrap.new-ux-recom-wrapper.animation{display:none}");
GM_addStyle(Flag_Title_css);
$(function(){
main_start();
})
})();