// ==UserScript==
// @name BaiduNav - 百度首页优化
// @namespace shangandeyu
// @version 1.0.0
// @description 百度首页样式调整,删除多余元素,导航优化,专注首页导航页,支持登录、未登录状态,打造整洁好用的百度首页,优化首页体验
// @author shangandeyu
// @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 *
// @downloadURL none
// ==/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.getElementById("head").style.minHeight="0px";
document.getElementById("lg").style.height="50px";
document.getElementById("lg").style.minHeight="50px";
// document.getElementsByClassName("s-center-box")[0].style.overflow="auto";
document.getElementById("head_wrapper").style.height="0px";
document.getElementById("head_wrapper").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="85px";
document.getElementsByClassName("s-block-container")[0].style.paddingTop = "12px";
// 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].outerHTML='';
document.getElementById("s_content_100").setAttribute('data-loaded', '1');
document.getElementById("bottom_layer").remove();
document.getElementsByClassName("p-sidebar js-player-open")[0].remove();
document.getElementsByClassName("qrcode-layer icon-mask-wrapper")[0].remove();
var icondiv = document.getElementsByClassName("nav-icon-normal");
var ids = new Array();
for(let i = 0; i < icondiv.length; i++) {
// if("" == icondiv[i].innerHTML) {
// continue;
// }
var url = icondiv[i].parentNode.href;
var domain = url.split('/');
var 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) {
var obj = res.context;
var src = obj.src;
var div = obj.div;
if (res.readyState == 4 && res.status == 200 || res.status == 304) {
var reader = new FileReader();
reader.readAsDataURL(res.response);
reader.onload = function () {
var img = new Image();
img.onload = function() {
GM_setValue(src, reader.result);
// localStorage[src] = reader.result;
div.innerHTML = '';
div.className = "nav-icon";
};
img.onerror = function () {
// div.outerHTML = '