您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
百度首页样式调整,删除多余元素,导航优化,导航图标获取,专注首页导航页,支持登录、未登录状态,打造整洁好用的首页,优化首页体验
当前为
// ==UserScript== // @name BaiduNav - 百度首页优化 // @namespace shangandeyu // @version 1.0.3 // @description 百度首页样式调整,删除多余元素,导航优化,导航图标获取,专注首页导航页,支持登录、未登录状态,打造整洁好用的首页,优化首页体验 // @author shangandeyu // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABjElEQVRoge2YbbHDIBBFj4RIiIRIiIRKiIRKwEElREIlREIlVEIk9P0gvEmYQCAfsMzkzOw/ZnqXewNb4Obm5mqq3AKOoIBxqjqrkkgq4A38ZqVyCoqhAb4sxRfTQIuOiy2+iAYUbvGiG1jLezENuPJeRAMt/siIbkARJ/4HfHIItQnNu6+JOrVoQ0zet+qZWHt03kW5oS4Qf+TjroAOHeV2a+GRvMe60QSIbyxNo2/hWXmPqZdDT4X+buwkrDbQrixMWbYb9q7baxeozOLn1U/l0/M2wlPm/fTI5cr7GdVR6M6begAMAoTsrRb0bfgRIGZPLUaSpwBBsaWwaAS5YZ5jfGv+j1GbnG6M0++bBzGflsHVAGg3hsTiB9ZnIpcW5yw0J4UbZtf3aAmiQl/rV+16HSoE7UaPbto1/DnpOG9WGpkuotSc4UaPgFfrjn0zVJZd9xHjhoinlTViJtqQv47ZeBHWhMqkL4hQN0Q7AXqXfUdo9lMoBNdwKO4k2sKMALtuT0mIz/3NTWn8ARfzVP7n/lZLAAAAAElFTkSuQmCC // @license GPL-3.0 // @run-at document-end // @match https://www.baidu.com/ // @grant GM_xmlhttpRequest // @grant GM_getValue // @grant GM_setValue // @grant unsafeWindow // @connect * // ==/UserScript== (function() { 'use strict'; var $ = unsafeWindow.jQuery; if($("#s_menu_mine").length > 0){ if($("#s_menu_mine").children('.s-menu-item-underline').length > 0) { document.getElementsByTagName("html")[0].style.overflow="auto"; document.body.style.overflow="auto"; document.getElementsByClassName("set-btn set-edit")[0].addEventListener('click',function(){document.getElementById("sui-dialog-mask").remove()}); document.getElementById("lg").style.height="50px"; document.getElementById("lg").style.minHeight="50px"; document.getElementsByClassName("s-skin-container s-isindex-wrap")[0].remove(); document.getElementById("head_wrapper").style.height="0px"; document.getElementById("head_wrapper").style.minHeight="0px"; document.getElementById("head").style.minHeight="0px"; document.getElementById("s_fm").style.height="0px"; document.getElementById("s_fm").style.minHeight="0px"; document.getElementById("s_lg_img").remove(); document.getElementById("s_lg_img_new").remove(); document.getElementById("s_icons").remove(); document.getElementsByClassName("show-vertical")[0].remove(); let len = document.getElementsByClassName("mnav").length; for(let i = 0; i < len; i++){ let mnav = document.getElementsByClassName("mnav")[0]; if (mnav != null) { mnav.parentNode.removeChild(mnav); } } document.getElementById("s_wrap").style.marginTop="85px"; document.getElementsByClassName("s-block-container")[0].style.paddingTop = "10px"; // document.getElementsByClassName("s-menu-container")[0].remove(); document.getElementById("s_menu_gurd").remove(); document.getElementsByClassName("c-color-text")[0].innerHTML = ""; $.getJSON("https://api.ooopn.com/ciba/api.php", function(data){ document.getElementsByClassName("c-color-text")[0].innerHTML = data.ciba; }); let setBar = document.getElementsByClassName("set-bar-content")[0]; let setMenu = setBar.getElementsByTagName("div")[0]; setBar.style.width = setMenu.offsetWidth+"px"; setBar.style.height = setMenu.offsetHeight+"px"; setMenu.style.display = "none"; setBar.addEventListener("mouseenter", function(){ setMenu.style.display = ""; }); setMenu.addEventListener("mouseleave", function(){ setMenu.style.display = "none"; }); document.getElementsByName("tj_briicon")[0].remove(); document.getElementById("s_usersetting_top").style.paddingRight = "4%"; document.getElementById("s_content_100").setAttribute('data-loaded', '1'); document.getElementsByClassName("rect")[0].remove(); document.getElementById("bottom_layer").remove(); document.getElementById("bottom_space").remove(); document.getElementsByClassName("p-sidebar js-player-open")[0].remove(); document.getElementsByClassName("qrcode-layer icon-mask-wrapper")[0].remove(); let icondiv = document.getElementsByClassName("nav-icon-normal"); if(icondiv.length > 0) { let ids = new Array(); for(let i = 0; i < icondiv.length; i++) { // if("" == icondiv[i].innerHTML) { // continue; // } let url = icondiv[i].parentNode.href; let domain = url.split('/'); let src = ""; for(let j = 0; j < domain.length && j < 3; j++) { src += domain[j]; if(domain[j].indexOf("http") > -1) { src += "//"; } } src += "/favicon.ico"; if (!GM_getValue(src)) { GM_xmlhttpRequest({ method: "GET", url: src, synchronous: true, responseType: "blob", context: {"src": src, "div": icondiv[i]}, onload: function (res) { let obj = res.context; let src = obj.src; let div = obj.div; if (res.readyState == 4 && res.status == 200 || res.status == 304) { let reader = new FileReader(); reader.readAsDataURL(res.response); reader.onload = function () { let img = new Image(); img.onload = function() { GM_setValue(src, reader.result); // localStorage[src] = reader.result; div.innerHTML = '<img src="' + reader.result + '" width="32px" height="32px">'; div.className = "nav-icon"; }; img.src = res.finalUrl; } } } }); } else { // icondiv[i].innerHTML = '<img src="' + localStorage[src] + '" width="32px" height="32px">'; icondiv[i].innerHTML = '<img src="' + GM_getValue(src) + '" width="32px" height="32px">'; icondiv[i].id = src; ids.push(src); } } for(let i = 0; i < ids.length; i++) { document.getElementById(ids[i]).className = "nav-icon"; } } else { let imgs = document.getElementsByTagName("img"); setImg(imgs); } } else { document.getElementsByTagName("html")[0].style.overflow="auto"; document.body.style.overflow="auto"; document.getElementsByClassName("set-btn set-edit")[0].addEventListener('click',function(){document.getElementById("sui-dialog-mask").remove()}); document.getElementById("lg").style.height="50px"; document.getElementById("lg").style.minHeight="50px"; document.getElementsByClassName("s-skin-container s-isindex-wrap")[0].remove(); document.getElementById("head_wrapper").style.height="0px"; document.getElementById("head_wrapper").style.minHeight="0px"; document.getElementById("head").style.minHeight="0px"; document.getElementById("s_fm").style.height="0px"; document.getElementById("s_fm").style.minHeight="0px"; document.getElementById("s_lg_img").remove(); document.getElementById("s_lg_img_new").remove(); document.getElementById("s_icons").remove(); document.getElementsByClassName("show-vertical")[0].remove(); let len = document.getElementsByClassName("mnav").length; for(let i = 0; i < len; i++){ let mnav = document.getElementsByClassName("mnav")[0]; if (mnav != null) { mnav.parentNode.removeChild(mnav); } } document.getElementById("s_wrap").style.paddingTop="75px"; document.getElementsByClassName("s-block-container")[0].style.paddingTop = "4px"; // document.getElementsByClassName("s-menu-container")[0].remove(); document.getElementById("s_menu_gurd").remove(); document.getElementsByClassName("mine-title")[0].innerHTML = ""; $.getJSON("https://api.ooopn.com/ciba/api.php", function(data){ document.getElementsByClassName("mine-title")[0].innerHTML = data.ciba; }); document.getElementsByName("tj_briicon")[0].remove(); document.getElementById("s_usersetting_top").style.paddingRight = "4%"; document.getElementsByClassName("s-code-blocks s-block-nav")[0].style.marginTop = "0px"; document.getElementById("s_content_100").setAttribute('data-loaded', '1'); document.getElementsByClassName("rect")[0].remove(); document.getElementsByClassName("s-more-bar")[0].remove(); document.getElementById("bottom_layer").remove(); document.getElementById("bottom_space").remove(); document.getElementsByClassName("p-sidebar js-player-open")[0].remove(); document.getElementsByClassName("qrcode-layer icon-mask-wrapper")[0].remove(); let imgs = document.getElementsByClassName("nav-icon"); setImg(imgs); } } else { let len = document.getElementsByClassName("mnav").length; for(let i = 0; i < len; i++){ let mnav = document.getElementsByClassName("mnav")[0]; if (mnav != null) { mnav.parentNode.removeChild(mnav); } } document.getElementsByName("tj_briicon")[0].outerHTML='<a></a>'; document.getElementById("qrcode").remove(); if(document.getElementById("ftConw") != null) { document.getElementById("ftConw").remove(); } if(document.getElementById("bottom_layer") != null) { document.getElementById("bottom_layer").remove(); } } function setImg(imgs) { for(let i = 0; i < imgs.length; i++) { if("https://dss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3" != imgs[i].src) { continue; } let url = imgs[i].parentNode.href ? imgs[i].parentNode.href : imgs[i].parentNode.parentNode.href; // if("" == url) { // continue; // } let domain = url.split('/'); let src = ""; for(let j = 0; j < domain.length && j < 3; j++) { src += domain[j]; if(domain[j].indexOf("http") > -1) { src += "//"; } } src += "/favicon.ico"; if (!GM_getValue(src)) { GM_xmlhttpRequest({ method: "GET", url: src, responseType: "blob", context: i + "|" + src, onload: function (res) { let context = res.context.split("|") let index = context[0]; let src = context[1]; if (res.readyState == 4 && res.status == 200 || res.status == 304) { let reader = new FileReader(); reader.readAsDataURL(res.response); reader.onload = function () { let img = new Image(); img.onload = function() { // localStorage[src] = reader.result; GM_setValue(src, reader.result); imgs[index].src = reader.result; }; img.onerror = function () { setDefaultImg(imgs[index], src); }; img.src = res.finalUrl; } } else { setDefaultImg(imgs[index], src); } }, onerror: function(res) { let context = res.context.split("|"); let index = context[0]; let src = context[1]; setDefaultImg(imgs[index], src); }, onabort: function(res) { let context = res.context.split("|") let index = context[0]; let src = context[1]; setDefaultImg(imgs[index], src); } }); } else { imgs[i].src = GM_getValue(src); } // imgs[i].outerHTML = '<img src="'+ src +'" class="nav-icon" width="16" height="16" onerror="https://dss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3">'; } } function setDefaultImg(imgTag, key) { var url = "https://dss0.bdstatic.com/k4oZeXSm1A5BphGlnYG/icon/6000.png?3"; GM_xmlhttpRequest({ method: "GET", url: url, responseType: "blob", onload: function (res) { if (res.readyState == 4 && res.status == 200 || res.status == 304) { let reader = new FileReader(); reader.readAsDataURL(res.response); reader.onload = function () { let img = new Image(); img.onload = function() { GM_setValue(key, reader.result); imgTag.src = reader.result; }; img.onerror = function () { imgTag.src = url; }; img.src = res.finalUrl; } } } }); } })();