【移动端】-百度系优化

用于【移动端】的百度系列产品优化,包括【百度搜索】、【百家号】、【百度贴吧】、【百度文库】、【百度经验】、【百度百科】、【百度知道】、【百度翻译】、【百度图片】、【百度地图】

目前为 2023-01-11 提交的版本。查看 最新版本

// ==UserScript==
// @name         【移动端】-百度系优化
// @namespace    http://tampermonkey.net/
// @version      0.6.0
// @description  用于【移动端】的百度系列产品优化,包括【百度搜索】、【百家号】、【百度贴吧】、【百度文库】、【百度经验】、【百度百科】、【百度知道】、【百度翻译】、【百度图片】、【百度地图】
// @include      *://m.baidu.com/*
// @include      *://www.baidu.com/*
// @include      *://baijiahao.baidu.com/*
// @include      *://tieba.baidu.com/*
// @include      *://wk.baidu.com/*
// @include      *://tanbi.baidu.com/*
// @include      *://jingyan.baidu.com/*
// @include      *://baike.baidu.com/*
// @include      *://zhidao.baidu.com/*
// @include      *://fanyi.baidu.com/*
// @include      *://fanyi-app.baidu.com/*
// @include      *://image.baidu.com/*
// @include      *://map.baidu.com/*
// @connect      www.baidu.com
// @connect      m.baidu.com
// @connect      tieba.baidu.com
// @connect      baike.baidu.com
// @grant        GM_addStyle
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_deleteValue
// @grant        GM_listValues
// @grant        GM_xmlhttpRequest
// @require	     https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.4.1/jquery.min.js
// @require      https://gf.qytechs.cn/scripts/449471-viewer/code/Viewer.js?version=1081056
// @require      https://gf.qytechs.cn/scripts/455186-whitesevsutils/code/WhiteSevsUtils.js?version=1137273
// @run-at       document-start
// ==/UserScript==

(function () {
  "use strict";
  const LOG = GM_getValue("LOG", false);
  var __console__ = {};
  __console__.log = function () {
    if (!LOG) {
      return;
    }
    console.log.apply(console, arguments);
  };
  const CSDN_FLAG_CSS = `标识
    .csdn-flag-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);
    }
    .csdn-flag-component-box .praise,.csdn-flag-component-box .share {
        /*width: 110px;
        height: 34px;
        line-height: 34px;*/
        height:auto;
        line-height:normal;
        color: #fff;
        background: #ff0505;
        border-radius: 5px;
        padding: 2px;
    }
    .csdn-flag-component-box a {
        display: inline-block;
        font-size: 14px;
    }
    .csdn-flag-component-box {
        /*margin: 0 auto;
        text-align: center;
        display: inline;*/
        display: flex;
        margin: 0;
        text-align: left;
        font-size: 0;
        position: relative;
        width: 260px;
        margin: 5px 0px;
    }
`;

  var LoadingView = function () {
    this.html =
      '<div class="page-isloading whitesev-page-isloading" style="margin: 0.08rem;background: #fff;height: 45px;font-size: 15px;display: flex;text-align: center;align-items: center;width: inherit;justify-content: center;border-radius: 0.12rem;">' +
      '<span class="whitesev-isloading-text" style="">Loading...</span>' +
      "</div>";
    this.iconHTML =
      '<div class="whitesev-isloading-icon" style="margin:0px 0px 28px 15px;">' +
      '<div id="whitesev-isloading-outside"></div>' +
      '<div id="whitesev-isloading-within"></div>' +
      "</div>";
    this.setVisible = function (_value_) {
      /* 修改 提示的显示状态 */
      $(".page-isloading")?.css("display", _value_ ? "flex" : "none");
    };
    this.setIconVisible = function (_value_) {
      /* 修改正在加载中图标的状态 */
      $(".whitesev-isloading-icon")?.css("display", _value_ ? "unset" : "none");
    };
    this.setText = function (_value_) {
      /* 设置加载的文本 */
      $(".whitesev-isloading-text")?.html("<span>" + _value_ + "</span>");
    };
    this.setTextWithLoadIcon = function (_value_) {
      /* 设置加载的文本-外加加载图标 */
      $(".whitesev-isloading-text")?.html("<span>" + _value_ + "</span>");
      $(".whitesev-isloading-icon")?.remove();
      $(".whitesev-isloading-text")?.after(this.iconHTML);
      $(".whitesev-isloading-icon")?.css("display", "unset");
    };
    this.setHTML = function (_value_) {
      /* 设置加载的HTML */
      $(".whitesev-isloading-text")?.html("<span>" + _value_ + "</span>");
      if (!$(".whitesev-isloading-icon").length) {
        $(".page-isloading")?.append(this.iconHTML);
      }
      $(".whitesev-isloading-icon")?.css("display", "none");
    };
    this.setCSS = function () {
      /* 设置CSS */
      GM_addStyle(`
            #whitesev-isloading-outside,
            #whitesev-isloading-within{
                position: absolute;
                margin-left: 140px;
            }
            #whitesev-isloading-outside {
                background-color: rgba(0, 0, 0, 0);
                border: 5px solid rgba(0, 183, 229, 0.9);
                opacity: .9;
                border-right: 5px solid rgba(0, 0, 0, 0);
                border-left: 5px solid rgba(0, 0, 0, 0);
                border-radius: 50px;
                box-shadow: 0 0 35px #2187e7;
                width: 20px;
                height: 20px;
                margin: 0 auto;
                /*position: fixed;
                left: 50%;
                top: 50%;
                margin-left: -25px;
                margin-top: -25px;*/
                -moz-animation: spinPulse 1s infinite ease-in-out;
                -webkit-animation: spinPulse 1s infinite ease-in-out;
                -o-animation: spinPulse 1s infinite ease-in-out;
                -ms-animation: spinPulse 1s infinite ease-in-out
            }
            #whitesev-isloading-within {
                background: rgba(0, 0, 0, 0) no-repeat center center;
                border: 5px solid rgba(0, 183, 229, 0.9);
                opacity: .9;
                border-top: 5px solid rgba(0, 0, 0, 0);
                border-bottom: 5px solid rgba(0, 0, 0, 0);
                border-radius: 50px;
                box-shadow: 0 0 15px #2187e7;
                width: 20px;
                height: 20px;
                margin: 0 auto;
                /*position: fixed;
                left: 50%;
                top: 50%;
                margin-left: -15px;
                margin-top: -15px;*/
                -moz-animation: spinoffPulse 3s infinite linear;
                -webkit-animation: spinoffPulse 3s infinite linear;
                -o-animation: spinoffPulse 3s infinite linear;
                -ms-animation: spinoffPulse 3s infinite linear
            }
            @-moz-keyframes spinPulse {
                0% {
                    -moz-transform: rotate(160deg);
                    opacity: 0;
                    box-shadow: 0 0 1px #505050
                }
                50% {
                    -moz-transform: rotate(145deg);
                    opacity: 1
                }
                100% {
                    -moz-transform: rotate(-320deg);
                    opacity: 0
                }
            }
            @-moz-keyframes spinoffPulse {
                0% {
                    -moz-transform: rotate(0deg)
                }
                100% {
                    -moz-transform: rotate(360deg)
                }
            }
            @-webkit-keyframes spinPulse {
                0% {
                    -webkit-transform: rotate(160deg);
                    opacity: 0;
                    box-shadow: 0 0 1px #505050
                }
                50% {
                    -webkit-transform: rotate(145deg);
                    opacity: 1
                }
                100% {
                    -webkit-transform: rotate(-320deg);
                    opacity: 0
                }
            }
            @-webkit-keyframes spinoffPulse {
                0% {
                    -webkit-transform: rotate(0deg)
                }
                100% {
                    -webkit-transform: rotate(360deg)
                }
            }
            @-o-keyframes spinPulse {
                0% {
                    -o-transform: rotate(160deg);
                    opacity: 0;
                    box-shadow: 0 0 1px #505050
                }
                50% {
                    -o-transform: rotate(145deg);
                    opacity: 1
                }
                100% {
                    -o-transform: rotate(-320deg);
                    opacity: 0
                }
            }
            @-o-keyframes spinoffPulse {
                0% {
                    -o-transform: rotate(0deg)
                }
                100% {
                    -o-transform: rotate(360deg)
                }
            }
            @-ms-keyframes spinPulse {
                0% {
                    -ms-transform: rotate(160deg);
                    opacity: 0;
                    box-shadow: 0 0 1px #505050
                }
                50% {
                    -ms-transform: rotate(145deg);
                    opacity: 1
                }
                100% {
                    -ms-transform: rotate(-320deg);
                    opacity: 0
                }
            }
            @-ms-keyframes spinoffPulse {
                0% {
                    -ms-transform: rotate(0deg)
                }
                100% {
                    -ms-transform: rotate(360deg)
                }
            }`);
    };
    this.destory = function () {
      /* 销毁 */
      $(".page-isloading")?.remove();
    };
    this.exists = function () {
      /* 判断是否已加载 */
      return $(".whitesev-page-isloading").length == 0 ? false : true;
    };
    this.iconExists = function () {
      /* 判断图标是否存在 */
      return $(".whitesev-isloading-icon").length == 0 ? false : true;
    };
    this.textExists = function () {
      /* 判断带图标的文本是否存在 */
      return $(".whitesev-isloading-text").length == 0 ? false : true;
    };
  };

  var loadingView = new LoadingView();

  var baidu = {
    current_url: window.location.href,
    init() {
      this.search();
      this.baijiahao();
      this.tieba();
      this.wenku();
      this.jingyan();
      this.baike();
      this.baiketashuo();
      this.zhidao();
      this.fanyi();
      this.image();
      this.map();
    },
    css: {
      search: `
                .c-container.na-ec-item,
                .c-container.ec-container,
                div[data-type="ad"],
                .c-result.sfc-log[data-tpl="adv_wenku_fc"],
                .c-recomm-wrap.new-ux-recom-wrapper.animation,
                #results-pre,
                .video-recommend,
                .c-result.sfc-log[data-tpl="search_recomm"],
                .sfc-image-content-waterfall-item[wat-item-data-id="no-img"],
                .se-results-pre,
                .ec_wise_ad,
                div#copyright + div,
                div#pop-up{
                  display:none !important;
                }
                .searchboxtop.newsearch-white-style .se-form {
                  border-color: #4e6ef2 !important;
                }
                .searchboxtop.newsearch-white-style .se-bn {
                  color: #fff !important;
                  background: #4e6ef2 !important;
                }
                .se-head-logo .se-logo img {
                  display: inherit !important;
                }
                .se-head-tablink {
                  border-bottom: 1px solid #e6e6e6 !important;
                  //background-color: #fff !important;
                  background-color: transparent !important;
                }

                a.se-tabitem span{
                  color: #000 !important;
                }
                // div.c-peak-layer{
                //   display:none !important;
                // } 百度关键字背景
                .se-tablink-scroll-wrapper .se-tab-cur:after{
                  border-bottom: 2px solid #38f !important;
                }
                .c-tags-scroll.c-padding-x{
                  display: none !important;
                }
                .white-bdsearch-isredirecrt{  
                  display: inline-flex;
                  background: #43ba76;
                  color: #fff;
                  width: 28px;
                  font-size: 16px;
                  line-height: 25px;
                  justify-content: center;
                  align-items: center;
                  border-radius: 5px;
                  margin: 0 auto;
                  margin-right: 6px;
                }
                /* 修复图片显示问题 */
                .image-strong-card div[class*="image-content__"] > div{
                  display: inline-block;
                  overflow: hidden;
                  vertical-align: top;
                }
                .c-result-content div[class*="tieba-newxml-forum-img-class__"]{
                  display: -webkit-box;
                  display: -webkit-flex;
                  display: flex;
                  -webkit-box-align: center;
                  -webkit-align-items: center;
                  align-items: center;
                }
                
                .c-result-content div[class*="tieba-newxml-forum-img__"]{
                  width: .553rem;
                  height: .553rem;
                }
                
                .c-result-content div[class*="tieba-newxml-forum-img__"] img{
                  width: 100%;
                  height: 100%;
                  border-radius: .09rem;
                }
                .c-result-content div[class*="tieba-newxml-forum-class__"]{
                  display: -webkit-box;
                  display: -webkit-flex;
                  display: flex;
                  -webkit-box-orient: vertical;
                  -webkit-box-direction: normal;
                  -webkit-flex-direction: column;
                  flex-direction: column;
                  -webkit-box-pack: center;
                  -webkit-justify-content: center;
                  justify-content: center;
                  max-width: 2.2rem;
                }
                .c-result-content div[class*="c-img-content-btn__"]{
                  position: absolute;
                  right: 0;
                  width: .55rem;
                  text-align: center;
                  line-height: .28rem;
                  border: 1px solid rgba(31,31,31,.5);
                  border-radius: .15rem;
                  font-family: PingFangSC-Medium;
                  font-size: .13rem;
                  color: #1f1f1f;
                }
                .c-result-content div[class*="tieba-newxml-thread-comment-user__"]{
                  display: -webkit-box;
                  display: -webkit-flex;
                  display: flex;
                  -webkit-box-align: center;
                  -webkit-align-items: center;
                  align-items: center;
                  margin-top: .03rem;
                }
                .c-result-content div[class*="tieba-newxml-thread-comment-user__"] img{
                  width: .16rem;
                  height: .16rem;
                  border-radius: 50%;
                }
                .c-result-content div[class*="tieba-newxml-thread-comment-user__"] span{
                  margin-right: .08rem;
                }
                
            `,
      searchHome: `
                html,
                body,
                div#header{
                  height: calc( 100vh - 120px );
                }
                form#index-form{ /* fixed垂直水平居中 */
                  position: fixed;
                  top:0;
                  right:0;
                  bottom:0;
                  left:0;
                  margin:auto !important;
                  width: 90%;
                }
                div#navs ~ div,
                #login-wraps,
                a.square-enterance,
                div#ts-image-uploader-icon,
                div.baiduappcall-wrap div.voice.call,
                div.tab_news,
                div#navs{
                  display: none !important;
                }
            `,
      baijiahao: `
                .layer-wrap,
                .openImg,
                .oPadding,
                .infinite-scroll-component__outerdiv,
                .bottomTTSStruct,
                .undefined,
                .headDeflectorContainer,
                .followSuper,
                #searchwordSdk ~ div:nth-child(n+4),
                #searchwordSdk,
                div#commentModule div div span:last-child{
                  display:none !important;
                }
                body.scrollHide{
                  overflow:auto !important;
                }
                .mainContent{
                  height:  auto !important;
                }
            `,
      tieba: `
                .tb-backflow-defensive,
                .fixed-nav-bar-defensive,
                .post-cut-guide,
                .ertiao-wrap-defensive,
                .feed-warp.gray-background,
                .pb-page-wrapper.app-view.transition-fade nav:first-child,
                .comment-box,
                .only-lz,
                .nav-bar-v2 .nav-bar-bottom,
                .more-image-desc,
                .fengchao-banner-defensive,
                .wake-app,
                .banner-wrapper-defensive,
                .open-app{
                  display:none !important;
                }
                body.tb-modal-open{
                  overflow:auto !important;
                }
            `,
      wenku: `
                .reader-pop-manager-view-containter,
                .core-download,
                .card-wrap.card-vip,
                #app,
                .pop-manager-view-containter,
                #carousel,
                .card-wrap,
                .n-card-wrap-exp,
                .pageNo .pager~div[class*="__wm"],
                .fold-pager,
                .vip-choice,
                .wk-bottom-btn,
                .continue-read-wrap.invite-clipboard,
                .wk-student,
                .search-pay-container,
                .wk-student-defense,
                .vip-rec-card-main{
                  display:none !important;
                }
                .bartop{
                  display: unset;
                }
                .reader-wrap{
                  height:auto !important;
                }
                #view-rr-app{
                  overflow-y:auto !important;
                }
                #view-app,
                #view-rr-app{
                  max-height: 100% !important;
                }
                .top-card{
                  margin-top: 10px !important;
                }
                *{
                  -webkit-touch-callout: inherit !important;
                  -khtml-user-select: auto !important;
                  -moz-user-select: auto !important;
                  -ms-user-select: auto !important;
                  user-select: auto !important;
                }
            `,
      jingyan: `
                .article-feed-next,
                .wgt-rel-exp-feed,
                .article-feed-btn-fixed,
                .read-whole-mask.app,
                .asp-self-rander,
                .baobao-image-item,
                #wgt-ad-guess{
                  display:none !important;
                }
                .exp-content-container{
                  max-height: 100% !important;
                  overflow:auto !important;
                }
            `,
      baike: `
                .BK-after-content-wrapper,
                .yitiao-container,
                .BK-content-load,
                #J-tashuo-button-fixed,
                #J-super-layer-promote{
                  display:none !important;
                }
                #J-other-content{
                  display:block !important;
                }
            `,
      zhidao: `
                /* .dec + div, */
                #feed-recommend,
                .dec,
                .wgt-topic-hot,
                #respect-footer,
                #wap-youx-change-asp,
                div.question-line + div:not(.replies-container),
                .wgt-asp-youx,
                .w-detail-display-btn,
                .ask-for-friend,
                #knowledge-answer-list,
                .go-to-ask,
                div[class*='ads']{
                  display:none !important;
                }
                .w-detail-container{
                  max-height: 100% !important;
                  overflow: auto !important;
                }
            `,
      fanyi: `
                .app-bar,
                .jifeng-container,
                .intro-title{
                  display:none !important;
                }
                .new-header-dl.{
                  visibility: hidden;
                }
            `,
      fanyiapp: `
                .fanyi-invoke-btn,
                .top-bn{
                  display:none !important;
                }
            `,
      image: `
                #boxBanner{
                  display:none !important;
                }
            `,
      map: `
                .index-widget-guidebanner,
                .common-widget-bottom-banner-changeId,
                #index-areaEntry-widget,
                div.common-widget-bottom-banner-changeId,
                #downloadnativepopup,
                .xiaoduVoiceCard,
                .index-widget-guidebanner{
                  display:none !important;
                }
            `,
    },
    search() {
      // 百度搜索
      function replaceLink() {
        /* 替换链接 */
        function replaceElementAttrHref(DOM, url) {
          /* 修改元素的href属性,并返回url */
          Array.from(DOM.getElementsByTagName("a")).forEach((item) => {
            let newUrl = real_link.has(item.href)
              ? real_link.get(item.href)
              : url;
            let aTagDataIvk = item.getAttribute("data-ivk");
            if (
              aTagDataIvk !== "" &&
              aTagDataIvk != null &&
              aTagDataIvk !== "{}"
            ) {
              try {
                aTagDataIvk = JSON.parse(aTagDataIvk);
                if (aTagDataIvk["control"] != null) {
                  newUrl = aTagDataIvk["control"]["default_url"]
                    ? aTagDataIvk["control"]["default_url"]
                    : aTagDataIvk["control"]["dataUrl"];
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度搜索%c]%c A标签上存在隐藏的url: %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    url
                  );
                }
              } catch (error) {
                __console__.log(error);
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c A标签上存在隐藏的url,但是替换失败",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red"
                );
              }
            }
            if (
              newUrl === item.href ||
              newUrl == null ||
              newUrl === "undefined"
            ) {
              return;
            }
            item.href = newUrl;
            __console__.log(
              "%c[BaiDu优化%c-%c百度搜索%c]%c 替换成新链接: %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:0",
              url
            );
          });
          removeElement();
        }

        function Dictionary() {
          this.items = {};
          //检查是否有某一个键
          this.has = function (key) {
            return this.items.hasOwnProperty(key);
          };
          //为字典添加某一个值
          this.set = function (key, val) {
            this.items[key] = val;
          };
          //删除某一个键
          this.delete = function (key) {
            if (this.has(key)) {
              delete this.items[key];
              return true;
            }
            return false;
          };
          //查找某一特定项
          this.get = function (key) {
            return this.has(key) ? this.items[key] : undefined;
          };
          //返回字典中的所有值
          this.values = function () {
            var res = [];
            for (var prop in this.items) {
              if (this.has(prop)) {
                res.push(this.items[prop]);
              }
            }
            return res;
          };
          //清空字典
          this.clear = function () {
            this.items = {};
          };
          //获取字典的长度
          this.size = function () {
            return Object.keys(this.items).length;
          };
          //获取字典所有的键
          this.keys = function () {
            return Object.keys(this.items);
          };
          //返回字典本身
          this.getItems = function () {
            return this.items;
          };
        }

        function getRealLinkJson() {
          // 由于部分真实链接存储在 script 标签中,得取出
          let data = new Dictionary();
          Array.from($("script[id^='atom-data-']")).forEach((item) => {
            let json_data = JSON.parse(item.innerHTML);
            if (json_data["data"]["resultAtomData"] == null) {
              return;
            }
            json_data = json_data["data"]["resultAtomData"];
            let site = json_data["content"]["site"];
            if (site == null) {
              return;
            }
            site["list"].forEach((item) => {
              data.set(
                item["urlParams"]["tcUrl"],
                item["urlParams"]["originUrl"]
              );
            });
          });
          return data;
        }

        function getDOMAttrOriginUrl(value) {
          /* 解析DOM节点上隐藏在属性中的真正url */
          let url = null;
          let dataLog = value.getAttribute("data-log");
          try {
            dataLog = JSON.parse(dataLog);
            url = dataLog.mu;
          } catch (error) {
            __console__.log(
              "%c[BaiDu优化%c-%c百度搜索%c]%c DOM的属性data-log不存在👇",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:red"
            );
          }
          if (!url || url === "") {
            let articleDataLog = value
              .querySelector("article")
              ?.getAttribute("rl-link-data-log");
            if (articleDataLog) {
              try {
                articleDataLog = JSON.parse(articleDataLog);
                url = articleDataLog.mu;
              } catch (error) {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c article DOM的属性的rl-link-data-log也不存在👇,获取真实链接失败",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red"
                );
                __console__.log(value);
              }
            } else {
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c article DOM不存在",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:red"
              );
            }
          }

          if (!url || url === "") {
            let dataIVK = value.getAttribute("data-ivk");
            try {
              dataLog = JSON.parse(dataIVK);
              url = dataLog.control.default_url;
            } catch (error) {
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c DOM的属性data-ivk不存在👇",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:red"
              );
            }
          }
          if (url !== "" || url != null) {
            url = decodeURIComponent(url);
          } else {
            url = null;
          }
          return url;
        }

        function addCSDNFlag(DOM) {
          if (DOM.querySelector(".csdn-flag-component-box") != null) {
            return;
          }
          let flagElement = document.createElement("div");
          flagElement.className = "csdn-flag-component-box";
          flagElement.innerHTML = `<a class="praise" href="javascript:;">CSDN下载</a>`;
          DOM.querySelector(".c-title-text")?.append(flagElement);
          __console__.log(
            "%c[BaiDu优化%c-%c百度搜索%c]%c 插入CSDN下载提示标题",
            "font-weight:bold;color:cornflowerblue",
            "font-weight:bold;color:cornflowerblue",
            "font-weight:bold;color:darkorange",
            "font-weight:bold;color:cornflowerblue",
            "color:blue"
          );
        }

        function removeElement() {
          // 移除元素
          $(".icon-logo")?.first().remove(); //底部下一页前面图标删除
          $("#page-relative")?.remove(); //末尾 ===>>  大家都在搜  广告位
          $(
            ".c-recomm-wrap.new-ux-recom-wrapper.c-bg-color-white.animation"
          )?.remove(); //中间 ===>>  大家都在搜  广告位
          $("#pop-up")?.remove(); //跳转百度app提示
          $(".ec_wise_ad")?.parent()?.remove(); // 顶部的部分商品广告

          Array.from($(".c-result.result")).forEach((items, index) => {
            let dataLog = JSON.parse(items.dataset.log);
            let searchArticleOriginal_link = dataLog["mu"];
            if (searchArticleOriginal_link.match(/recommend_list.baidu.com/g)) {
              items.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>大家都在搜",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
            if (items.outerText.substr(0, 5) == "大家还在搜") {
              items.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>大家都在搜:显示出来的",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
            if (items.childNodes.length > 1) {
              if (items.outerText.match(/(大家还在搜|百度APP内打开)/)) {
                items.childNodes[1].remove();
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>大家都在搜:隐藏的(点击后,跳出来的)",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:blue"
                );
              }
            }
            let bottom_logo_text =
              items.getElementsByClassName("c-color-source"); //底部标识
            if (bottom_logo_text != null) {
              let bottom_remove_flag = false;
              let bottom_logo = Array.from(bottom_logo_text);
              bottom_logo.forEach((items_b, index_b) => {
                let it_text = items_b.outerText;
                if (it_text.match(/百度(APP内打开|手机助手)/)) {
                  bottom_remove_flag = true;
                }
              });
              if (bottom_remove_flag) {
                items.remove();
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>百度APP内打开",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:blue"
                );
              }
            }

            if (
              searchArticleOriginal_link.match(
                /http(s|):\/\/(download.csdn.net|www.iteye.com\/resource)/g
              )
            ) {
              addCSDNFlag(items);
            }
            if (
              items.hasAttribute("srcid") &&
              items.attributes.srcid.value.match(/(sigma|vid_fourfold)/g)
            ) {
              items.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除推荐==>xxx 相关 xxx",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
            if (searchArticleOriginal_link.match(/expert.baidu.com/g)) {
              items.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>百度健康",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
            if (searchArticleOriginal_link.match(/author.baidu.com\/home\//g)) {
              items.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>百家号聚合",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
            if (dataLog["ensrcid"] == "wenda_inquiry") {
              items.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>问一问",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
          });
          Array.from($("span")).forEach((items, index) => {
            let result_parent = items.parentElement.parentElement;
            if (
              items.outerText.match(/百度APP内打开/) ||
              result_parent.getAttribute("data-from") == "etpl"
            ) {
              items.parentElement.parentElement.remove();
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 删除广告==>隐藏的广告,会跳出来的",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:blue"
              );
            }
          });
        }

        function replaceLink() {
          /* 替换链接 */
          let searchWebSitePages = $(".c-result.result");
          Array.from(searchWebSitePages).forEach((items, index) => {
            let realLinkUrl = getDOMAttrOriginUrl(items);
            if (!realLinkUrl) {
              return;
            }
            let articleElement = items.getElementsByTagName("article")[0];
            if (!articleElement) {
              return;
            }

            if (realLinkUrl.match(/http:\/\/www.internal.video.baidu.com/g)) {
              let internalVideo = decodeURIComponent(
                articleElement.getAttribute("rl-link-data-log")
              );
              let internalVideoMatch = internalVideo.match(
                /\/sf\?pd=video_pag(.*?)={/g
              );
              if (internalVideoMatch) {
                internalVideoMatch = internalVideoMatch[0];
                let newinternalVideo = internalVideoMatch.substring(
                  0,
                  internalVideoMatch.length - 2
                );
                replaceElementAttrHref(items, newinternalVideo);
                articleElement.setAttribute("rl-link-href", newinternalVideo);
              }
            } else if (
              realLinkUrl.match(/http:\/\/m.baidu.com\/productcard/g)
            ) {
              __console__.log(
                "%c[BaiDu优化%c-%c百度搜索%c]%c 该链接不予替换: %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:red",
                realLinkUrl
              );
            } else {
              replaceElementAttrHref(items, realLinkUrl);
              articleElement.setAttribute("rl-link-href", realLinkUrl);
            }

            if (!realLinkUrl.match(/http(s|):\/\/m.baidu.com\/from/g)) {
              if (!GM_getValue("menu_showisdirect", false)) {
                return;
              }
              if ($(items).find(".white-bdsearch-isredirecrt").length == 0) {
                let title_text_element = $(items).find(".c-title-text");
                let is_redirect_icon = document.createElement("div");
                is_redirect_icon.className = "white-bdsearch-isredirecrt";
                is_redirect_icon.innerHTML = "<span>重</span>";
                title_text_element.prepend(is_redirect_icon);
              }
            }
          });
        }

        let real_link = getRealLinkJson();
        removeElement();
        replaceLink();
      }
      function checkHrefTag() {
        /* 检查链接中是否还存在没有修改完毕的链接 */
        let ret = true;
        document.querySelectorAll(".c-result.result").forEach((item, index) => {
          item.querySelectorAll("a").forEach((tagItem, index2) => {
            var url = tagItem.getAttribute("href");
            if (!url) {
              return;
            }
            if (url.match(/http(s|):\/\/m.baidu.com\/from/g)) {
              ret = false;
              /* __console__.log("%c[BaiDu优化%c-%c百度搜索%c]%c 发现存在没有替换成功的链接: %s", 
                                        "font-weight:bold;color:cornflowerblue",
                                        "font-weight:bold;color:cornflowerblue",
                                        "font-weight:bold;color:darkorange",
                                        "font-weight:bold;color:cornflowerblue",
                                        "color:red",
                                        url); */
              item.querySelector(".white-bdsearch-isredirecrt")?.remove();
            }
          });
        });
        return ret;
      }

      function redirectTopLink() {
        /* 重定向顶部的链接,如全部、视频、图片、贴吧、咨询... */
        document.querySelectorAll(".se-head-tablink a").forEach((item) => {
          if (
            item.hasAttribute("data-sflink") &&
            item.getAttribute("href") != item.getAttribute("data-sflink")
          ) {
            __console__.log(
              "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:#ba00f8",
              "重定向顶部按钮: " + item.outerText.trim()
            );
            item.href = item.getAttribute("data-sflink");
          }
        });
      }

      function replaceLinkEvent() {
        /* 替换链接-主事件 */
        Array.from($("script")).forEach((items, index) => {
          if (items.text.match(/define\(\"@molecule\/aftclk\/index\",/g)) {
            items.remove();
            __console__.log(
              "%c[BaiDu优化%c-%c百度搜索%c]%c 删除跳转百度app提示js==>",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:blue"
            );
          }
        });
        var runNum = 0;
        var isHandling = false;
        $(".search-page").bind("DOMNodeInserted", function () {
          if (isHandling) {
            return;
          }
          isHandling = true;
          replaceLink();
          if (!checkHrefTag()) {
            replaceLink();
          }
          setTimeout(() => {
            isHandling = false;
          }, 500);
          runNum++;
        });
      }

      function clickOtherSearchEvent() {
        /* 点击输入框,输入其它文字,有提示,禁止百度篡改,且极大地增加搜索速度 */
        var suggestList = "#se-box .suggest-content";
        var suggestBtn = "#se-box .suggest-content button";
        var suggestList_HOME = "#index-box .suggest-content";
        var suggestBtn_HOME = "#index-box .suggest-content button";
        var searchInput = "#kw";
        var searchBtn = "#se-bn";
        var searchInput_HOME = "#index-kw";
        var searchBtn_HOME = "#index-bn";
        function mutationObserverFunction(btnElement) {
          $(btnElement)?.on("click", function (e) {
            e?.stopPropagation();
            e?.preventDefault();
            __console__.log("点击按钮跳转搜索 -> " + $(this).text());
            __console__.log(
              window.location.origin + "/s?word=" + $(this).text()
            );
            window.location.href =
              window.location.origin + "/s?word=" + $(this).text();
            return false;
          });
        }
        function searchBtnJump(e, searchInput) {
          var searchInputElement = $(searchInput);
          e?.stopPropagation();
          e?.preventDefault();
          __console__.log("点击按钮跳转搜索 -> " + searchInputElement.val());
          __console__.log(
            window.location.origin + "/s?word=" + searchInputElement.val()
          );
          window.location.href =
            window.location.origin + "/s?word=" + searchInputElement.val();
          return false;
        }

        function enterKeyDownEvent(e, searchInput) {
          if (e.keyCode === 108 || e.keyCode === 13) {
            var searchInputElement = $(searchInput);
            e?.stopPropagation();
            e?.preventDefault();
            __console__.log("回车键跳转搜索 -> " + searchInputElement.val());
            __console__.log(
              window.location.origin + "/s?word=" + searchInputElement.val()
            );
            window.location.href =
              window.location.origin + "/s?word=" + searchInputElement.val();
            return false;
          }
          return true;
        }
        Utils.mutationObserver(suggestList, {
          fn: () => {
            mutationObserverFunction(suggestBtn);
          },
          config: { childList: true, attributes: true },
        });
        Utils.mutationObserver(suggestList_HOME, {
          fn: () => {
            mutationObserverFunction(suggestBtn_HOME);
          },
          config: { childList: true, attributes: true },
        });

        $(searchBtn)?.on("click", function (e) {
          return searchBtnJump(e, searchInput);
        });
        $(searchBtn_HOME)?.on("click", function (e) {
          return searchBtnJump(e, searchInput_HOME);
        });
        $(searchInput)?.on("keydown", function (e) {
          return enterKeyDownEvent(e, searchInput);
        });
        $(searchInput_HOME)?.on("keydown", function (e) {
          return enterKeyDownEvent(e, searchInput_HOME);
        });
      }

      if (this.current_url.match(/http(s|):\/\/(m|www).baidu.com/g)) {
        __console__.log(
          "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
        GM_addStyle(this.css.search);
        $(function () {
          replaceLinkEvent();
          redirectTopLink();
          clickOtherSearchEvent();
          if (GM_getValue("menu_autoloading", false)) {
            autoLoadNextPage();
          }
        });
      }
      if (
        this.current_url.match(/^http(s|):\/\/(m|www).baidu.com\/$/g) ||
        this.current_url.match(/^http(s|):\/\/(m|www).baidu.com\/\?ref=/g) ||
        this.current_url.match(/^http(s|):\/\/(m|www).baidu.com\/\?tn=/g)
      ) {
        GM_addStyle(this.css.searchHome);
        __console__.log(
          "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则-主页"
        );
      }
    },
    baijiahao() {
      // 百家号
      if (this.current_url.match(/http(s|):\/\/baijiahao.baidu.com/g)) {
        GM_addStyle(this.css.baijiahao);
        __console__.log(
          "%c[BaiDu优化%c-%百家号%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
    },
    tieba() {
      //  百度贴吧
      function tiebaLoadComments() {
        // 贴吧加载评论
        const tiebaConfig = {
          useragent:
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39",
          getNewCommentInnerHTML: (element, user_commands_list) => {
            // 根据dom获取需要插入的评论的html
            let data_field = JSON.parse(element.attributes["data-field"].value);
            if (Object.keys(data_field).length == 0) {
              return;
            }
            let user_id = data_field["author"]["user_id"];
            let builderId = data_field["content"]["builderId"];

            let user_command = data_field["content"]["content"];
            let user_home_url =
              element.querySelector(".p_author_face").attributes["href"].value;
            let user_landlord_name = data_field["author"]["user_name"];
            let user_name = element.querySelector(".p_author_name");
            if (user_name) {
              user_name = user_name.textContent;
            } else {
              user_name = element.querySelector(".p_author_face > img")
                .attributes["username"].value;
            }

            let user_avator =
              element.querySelector(".p_author_face > img").attributes[
                "data-tb-lazyload"
              ] ||
              element.querySelector(".p_author_face > img").attributes["src"];
            user_avator = user_avator.value;

            let is_landlord = 0;
            if (user_id == builderId) {
              user_name =
                user_name +
                '<svg data-v-188c0e84="" class="landlord"><use xlink:href="#icon_landlord"></use></svg>';
              is_landlord = 1;
            }
            let ele_tail_wrap = element.querySelector(".post-tail-wrap");
            let user_ip_position = ele_tail_wrap;
            let user_floor = "";
            let user_comment_time = "1970-1-1 00:00:00";
            if (ele_tail_wrap) {
              let childrenElement = $(ele_tail_wrap).find("span.tail-info");
              $(ele_tail_wrap)
                .find("span")
                .filter(function (index) {
                  if (!this.getAttribute("class")) {
                    user_ip_position = this.textContent;
                    if (user_ip_position.match("来自|禁言")) {
                      user_ip_position = "";
                    }
                    return this;
                  }
                });
              if (childrenElement.length == 3 || childrenElement.length == 2) {
                user_floor =
                  childrenElement[childrenElement.length - 2].textContent;
                user_comment_time =
                  childrenElement[childrenElement.length - 1].textContent;
              } else {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red",
                  "获取PC端的数据楼层和时间信息失败👇"
                );
                __console__.log(childrenElement);
                user_floor = "";
                user_comment_time = "";
              }
            } else {
              ele_tail_wrap = element.querySelector(".acore_reply_tail");
              user_ip_position = data_field["content"]["ip_address"];
              user_floor =
                data_field["content"]["post_no"] + "楼"; /* 评论楼层 */
              user_comment_time = data_field["content"]["date"];
              if (!user_command) {
                user_command =
                  element.querySelector(".d_post_content").innerHTML;
              }
              if (user_ip_position) {
                user_ip_position = "IP属地:" + user_ip_position;
              }
            }
            let currentTime = new Date(); //结束时间
            let timeDifference =
              currentTime.getTime() -
              new Date(user_comment_time.replace(/-/g, "/")).getTime(); //时间差的毫秒数

            //------------------------------

            //计算出相差天数
            let days = Math.floor(timeDifference / (24 * 3600 * 1000));
            if (days > 0) {
              user_comment_time = days + "天前";
            } else {
              //计算出小时数
              let leave1 = timeDifference % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
              let hours = Math.floor(leave1 / (3600 * 1000));
              if (hours > 0) {
                user_comment_time = hours + "小时前";
              } else {
                //计算相差分钟数
                let leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
                let minutes = Math.floor(leave2 / (60 * 1000));
                if (minutes > 0) {
                  user_comment_time = minutes + "分钟前";
                } else {
                  //计算相差秒数
                  let leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
                  let seconds = Math.round(leave3 / 1000);
                  user_comment_time = seconds + "秒前";
                }
              }
            }

            let post_id = data_field["content"]["post_id"];
            let new_user_commands_innerHTML = "";
            if (user_commands_list[post_id]) {
              Array.from(user_commands_list[post_id].comment_info).forEach(
                (result) => {
                  let u_user_name = result["show_nickname"];
                  let u_content = result["content"];
                  let u_user_id = result["user_id"];
                  if (builderId == u_user_id) {
                    u_user_name +=
                      '<svg data-v-5b60f30b="" class="landlord"><use xlink:href="#icon_landlord"></use></svg>';
                  }
                  let newInnerHTML =
                    '<div><div data-v-5b60f30b="" class="lzl-post-item" style="">' +
                    '<div data-v-5b60f30b="" class="text-box">' +
                    '<span data-v-5b60f30b="" class="link username">' +
                    u_user_name +
                    ": </span>" +
                    '<div data-v-ab14b3fe="" data-v-5b60f30b="" class="thread-text lzl-post-text"><span data-v-ab14b3fe="" class="text-content">' +
                    u_content +
                    "</span></div>" +
                    "</div>" +
                    "</div></div>";
                  new_user_commands_innerHTML += newInnerHTML;
                }
              );
            }

            if (new_user_commands_innerHTML) {
              new_user_commands_innerHTML =
                '<div data-v-5b60f30b="" data-v-74eb13e2="" class="lzl-post lzl-post" style="max-height: 2.35rem;overflow-y: auto;">' +
                new_user_commands_innerHTML +
                "</div>";
            }
            let new_command_innerHTML =
              `
                            <div data-v-74eb13e2="" data-v-602e287c="" class="post-item" data-floor="` +
              window.floor_num +
              `" landlord=` +
              is_landlord +
              `>
                                <div data-v-188c0e84="" data-v-74eb13e2="" class="user-line-wrapper user-line-post">
                                    <div data-v-188c0e84="" class="user-line">
                                        <div data-v-188c0e84="" class="tbfe-1px-border avatar"
                                            data-src="` +
              user_avator +
              `"
                                            lazy="loaded"
                                            style="background-image: url(` +
              user_avator +
              `);">
                                        </div>
                                        <div data-v-188c0e84="" class="user-info">
                                            <div data-v-188c0e84="" class="username">` +
              user_name +
              `</div>
                                            <p data-v-188c0e84="" class="desc-info">
                                                <span data-v-188c0e84="" class="floor-info">` +
              user_floor +
              `</span>
                                                <span data-v-188c0e84="" class="time" style='margin-right: .08rem;'>` +
              user_comment_time +
              `</span>
                                                <span data-v-188c0e84="" class="ip">` +
              user_ip_position +
              `</span>
                                            </p>
                                        </div>
                                    </div>
                                </div>
                                <div data-v-74eb13e2="" class="content">
                                    <p data-v-ab14b3fe="" data-v-74eb13e2="" class="thread-text post-text">
                                        <span data-v-ab14b3fe="" class="text-content">
                                        ` +
              user_command +
              `
                                        </span>
                                    </p>
                                    ` +
              new_user_commands_innerHTML +
              `
                                    <div data-v-74eb13e2="" class="post-split-line"></div>
                                </div>
                            </div>
                        `;
            return new_command_innerHTML;
          },
          insertNewCommentInnerHTML: (_html_) => {
            // 根据评论的html插入页面中
            if ($(".post-cut-guide").length) {
              $(".post-cut-guide").before(_html_);
            } else {
              $(".pb-page-wrapper").append(_html_); // 老版帖子
            }
          },
          insertOnlyLZ: () => {
            // 插入只看楼主的按钮
            let ele_parent = $("#replySwitch");
            let onlyLzInnerHTML = `
                        <div style="display: -webkit-box;
                            display: -webkit-flex;
                            display: -ms-flexbox;
                            display: flex;
                            -webkit-box-align: center;
                            -webkit-align-items: center;
                            -ms-flex-align: center;
                            align-items: center;
                            line-height: .24rem;
                            border-radius: .14rem;
                            font-size: .13rem;
                            color: #614ec2;" class="white-only-lz">只看楼主</div>`;
            ele_parent.append(onlyLzInnerHTML);
            let quxiaoonlylz_css = `
                        .white-only-lz-qx:before {
                            content: "取消";
                        }
                        .white-only-lz-none {
                            display: none;
                        }`;
            GM_addStyle(quxiaoonlylz_css);
            $(".white-only-lz").on("click", (event) => {
              tiebaConfig.displayCommand(event.currentTarget.classList);
            });
          },
          insertReverseBtn: () => {
            /* 插入 正序=倒序的按钮 */
            let ele_parent = $("#replySwitch");
            let btnHTML = `
                        <div style="display: -webkit-box;
                            display: -webkit-flex;
                            display: -ms-flexbox;
                            display: flex;
                            -webkit-box-align: center;
                            -webkit-align-items: center;
                            -ms-flex-align: center;
                            align-items: center;
                            line-height: .24rem;
                            border-radius: .14rem;
                            font-size: .13rem;
                            color: #614ec2;
                            width: auto;
                            margin-left: auto;
                            margin-right: 15px;" class="white-btn-comment-reverse"></div>`;
            ele_parent.append(btnHTML);
            let btnCSS = `
                        .white-btn-comment:before {
                            content: "正序";
                        }
                        .white-btn-comment-reverse:before {
                            content: "倒序";
                        }
                        .white-btn-comment-reverse-none {
                            display: none;
                        }`;
            GM_addStyle(btnCSS);
            $(".white-btn-comment-reverse").on("click", (event) => {
              $(window).unbind();
              $(".post-item")?.remove();
              if (
                event.currentTarget.getAttribute("class") ===
                "white-btn-comment"
              ) {
                event.currentTarget.setAttribute(
                  "class",
                  "white-btn-comment-reverse"
                );
                mainPositive();
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:0",
                  "执行 正序"
                );
              } else {
                event.currentTarget.setAttribute("class", "white-btn-comment");
                mainReverse();
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:0",
                  "执行 倒序"
                );
              }
            });
          },
          getPageComment: (url) => {
            // 获取第一页的评论(不包括评论的评论)
            return new Promise((res) => {
              GM_xmlhttpRequest({
                url: url,
                timeout: 5000,
                method: "GET",
                headers: {
                  "User-Agent": tiebaConfig.useragent,
                },
                onload: function (resp) {
                  let _html_ = $(resp.responseText);
                  res(_html_);
                },
                onerror: function (resp) {
                  if (resp.error.match("wappass.baidu.com")) {
                    let url = resp.error.match(/"(.*?)"/)[1];
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c 触发百度校验: %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:0",
                      url
                    );
                    window.location.href = url;
                  } else {
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:red",
                      "获取评论数据失败 👇"
                    );
                    __console__.log(resp);
                    res(400);
                  }
                },
              });
            });
          },
          getPageCommentList: (url) => {
            // 获取第一页的评论的评论
            return new Promise((res) => {
              GM_xmlhttpRequest({
                url: url,
                timeout: 5000,
                method: "GET",
                headers: {
                  Accept: "application/json, text/javascript, */*; q=0.01",
                  "User-Agent": tiebaConfig.useragent,
                },
                onload: function (resp) {
                  let data = JSON.parse(resp.responseText);
                  let comment_list = data["data"]["comment_list"];
                  res(comment_list);
                },
                onerror: function (resp) {
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:red",
                    "取第一页的评论的评论数据失败 👇"
                  );
                  __console__.log(resp);
                  res(400);
                },
              });
            });
          },
          loadingNextCommand: () => {
            // 自动加载下一页的评论
            var isloding_flag = false;
            $(window).bind("scroll", async function () {
              let userScrollHeight = Math.ceil(
                $(window).scrollTop() + $(window).height() + 150
              );
              if (userScrollHeight >= $(document).height()) {
                if (isloding_flag) {
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    "正在请求中"
                  );
                } else {
                  isloding_flag = true;
                  loadingView.setTextWithLoadIcon("Loading...");
                  loadingView.setVisible(true);
                  let timeStamp = Date.now();
                  let next_page_url =
                    "https://tieba.baidu.com/p/" +
                    window.param_tid +
                    "?pn=" +
                    window.page;
                  let next_page_all_comment_url =
                    "https://tieba.baidu.com/p/totalComment?t=" +
                    timeStamp +
                    "&tid=" +
                    window.param_tid +
                    "&fid=" +
                    window.param_forum_id +
                    "&pn=" +
                    window.page +
                    "&see_lz=0";
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c 请求下一页评论的url: %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    next_page_url
                  );
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c 贴子所有评论的url: %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    next_page_all_comment_url
                  );
                  let pageHTML = await tiebaConfig.getPageComment(
                    next_page_url
                  );
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    "成功获取下一页评论"
                  );
                  let user_commands_list = await tiebaConfig.getPageCommentList(
                    next_page_all_comment_url
                  );
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    "成功获取下一页评论对应的数组"
                  );
                  if (pageHTML == 400 || user_commands_list == 400) {
                    loadingView.setHTML("未知错误,请看控制台");
                    $(window).unbind();
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:#f400ff",
                      "取消绑定监听"
                    );
                  }
                  let commands = pageHTML.find(".l_post.l_post_bright");
                  commands = Array.from(commands);
                  if (window.page == 1) {
                    /* 为第一页时,去除第一个,也就是主评论 */
                    commands.splice(0, 1);
                  }
                  commands.forEach((ele) => {
                    tiebaConfig.insertNewCommentInnerHTML(
                      tiebaConfig.getNewCommentInnerHTML(
                        ele,
                        user_commands_list
                      )
                    );
                    window.floor_num += 1;
                  });
                  if (
                    Array.from($(".white-only-lz")[0].classList).includes(
                      "white-only-lz-qx"
                    )
                  ) {
                    let lzReply = $(".post-item");
                    Array.from(lzReply).forEach((ele) => {
                      let landlord = ele.getAttribute("landlord");
                      if (landlord == "0") {
                        ele.classList.add("white-only-lz-none");
                      }
                    });
                  }
                  loadingView.setVisible(false);
                  if (window.page >= window.max_page) {
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:0",
                      "已加载所有的评论"
                    );
                    loadingView.setHTML("已加载所有的评论");
                    loadingView.setVisible(false);
                    $(window).unbind();
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:#f400ff",
                      "取消绑定监听"
                    );
                  }
                  window.page++;
                  isloding_flag = false;
                }
              }
            });
          },
          loadingPrevCommand: () => {
            /* 自动加载上一页的评论 */
            var isloding_flag = false;
            $(window).bind("scroll", async function () {
              let userScrollHeight = Math.ceil(
                $(window).scrollTop() + $(window).height() + 150
              );
              if (userScrollHeight >= $(document).height()) {
                if (isloding_flag) {
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    "正在请求中"
                  );
                } else {
                  isloding_flag = true;
                  loadingView.setTextWithLoadIcon("Loading...");
                  loadingView.setVisible(true);
                  let timeStamp = Date.now();
                  let page_url =
                    "https://tieba.baidu.com/p/" +
                    window.param_tid +
                    "?pn=" +
                    window.page;
                  let page_all_comment_url =
                    "https://tieba.baidu.com/p/totalComment?t=" +
                    timeStamp +
                    "&tid=" +
                    window.param_tid +
                    "&fid=" +
                    window.param_forum_id +
                    "&pn=" +
                    window.page +
                    "&see_lz=0";
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c 请求上一页评论的url: %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    page_url
                  );
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c 贴子所有评论的url: %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    page_all_comment_url
                  );
                  let pageHTML = await tiebaConfig.getPageComment(page_url);
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    "成功获取上一页评论"
                  );
                  let user_commands_list = await tiebaConfig.getPageCommentList(
                    page_all_comment_url
                  );
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:0",
                    "成功获取下一页评论对应的数组"
                  );
                  if (pageHTML == 400 || user_commands_list == 400) {
                    loadingView.setHTML("未知错误,请看控制台");
                    $(window).unbind();
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:#f400ff",
                      "取消绑定监听"
                    );
                  }
                  let commands = pageHTML.find(".l_post.l_post_bright");
                  commands = Array.from(commands);
                  if (window.page == 1) {
                    /* 为第一页时,去除第一个,也就是主评论 */
                    commands.splice(0, 1);
                  }
                  commands.reverse();
                  commands.forEach((ele) => {
                    tiebaConfig.insertNewCommentInnerHTML(
                      tiebaConfig.getNewCommentInnerHTML(
                        ele,
                        user_commands_list,
                        true
                      )
                    );
                    window.floor_num++;
                  });
                  if (
                    Array.from($(".white-only-lz")[0].classList).includes(
                      "white-only-lz-qx"
                    )
                  ) {
                    let lzReply = $(".post-item");
                    Array.from(lzReply).forEach((ele) => {
                      let landlord = ele.getAttribute("landlord");
                      if (landlord == "0") {
                        ele.classList.add("white-only-lz-none");
                      }
                    });
                  }
                  loadingView.setVisible(false);
                  if (window.page <= 1) {
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:0",
                      "已加载所有的评论"
                    );
                    loadingView.setHTML("已加载所有的评论");
                    loadingView.setVisible(false);
                    $(window).unbind();
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:#f400ff",
                      "取消绑定监听"
                    );
                  }
                  window.page--;
                  isloding_flag = false;
                }
              }
            });
          },
          insertLoadingHTML: () => {
            /* 插入加载中的html */
            if (!loadingView.exists()) {
              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                "插入loading"
              );
              $(".main-page-wrap").append($(loadingView.html));
              loadingView.setCSS();
            }
          },
          displayCommand: (classlist) => {
            // 动态显示只看楼主
            if (Array.from(classlist).includes("white-only-lz-qx")) {
              $(".white-only-lz").removeClass("white-only-lz-qx");
              let lzReply = $(".post-item");
              Array.from(lzReply).forEach((ele) => {
                ele.classList.remove("white-only-lz-none");
              });
            } else {
              $(".white-only-lz").addClass("white-only-lz-qx");
              let lzReply = $(".post-item");
              Array.from(lzReply).forEach((ele) => {
                let landlord = ele.getAttribute("landlord");
                if (landlord == "0") {
                  ele.classList.add("white-only-lz-none");
                }
              });
            }
          },
        };
        async function mainPositive() {
          /* 正序 */
          window.param_tid = window.location.pathname.match(/([0-9]+)/g);
          if (window.param_tid) {
            window.param_tid = window.param_tid[0];
            window.param_forum_id =
              $(".recommend-item").attr("data-banner-info");
            if (window.param_forum_id) {
              window.param_forum_id = JSON.parse(window.param_forum_id)[
                "forum_id"
              ];
              let timeStamp = Date.now();
              window.page = 1;
              tiebaConfig.insertLoadingHTML();
              loadingView.setTextWithLoadIcon("Loading...");
              loadingView.setVisible(true);
              let url =
                "https://tieba.baidu.com/p/totalComment?t=" +
                timeStamp +
                "&tid=" +
                window.param_tid +
                "&fid=" +
                window.param_forum_id +
                "&pn=" +
                window.page +
                "&see_lz=0";
              let pageUrl =
                "https://tieba.baidu.com/p/" +
                window.param_tid +
                "?pn=" +
                window.page;
              let pageHTML = await tiebaConfig.getPageComment(pageUrl);
              let user_commands_list = await tiebaConfig.getPageCommentList(
                url
              );
              if (pageHTML == 400 || user_commands_list == 400) {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red",
                  "新评论区获取失败"
                );
                return;
              }
              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                "成功获取评论HTML"
              );
              window.max_page = pageHTML.find(".jump_input_bright");
              if (window.max_page.length) {
                window.max_page = parseInt(
                  max_page[0].attributes["max-page"].value
                );
                tiebaConfig.loadingNextCommand();
                $(window).trigger("scroll");
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:0",
                  "当前为多页,执行监听"
                );
              } else {
                let commands = pageHTML.find(".l_post.l_post_bright");
                window.max_page = 1;
                commands = Array.from(commands);
                Array.from(
                  document.getElementsByClassName("post-item")
                ).forEach((ele) => {
                  ele.remove();
                });
                commands.shift();

                window.floor_num = 1;
                commands.forEach((element) => {
                  tiebaConfig.insertNewCommentInnerHTML(
                    tiebaConfig.getNewCommentInnerHTML(
                      element,
                      user_commands_list,
                      true
                    )
                  );
                  window.floor_num++;
                });
                loadingView.destory();
              }
              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c 共 %s 页评论,当前所在 %s 页",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                window.max_page,
                window.page
              );
            } else {
              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:red",
                "贴吧:获取参数data-banner-info失败"
              );
            }
          } else {
            __console__.log(
              "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:red",
              "贴吧:未找到本页参数p"
            );
          }
        }
        async function mainReverse() {
          /* 倒序 */
          window.param_tid = window.location.pathname.match(/([0-9]+)/g);
          if (window.param_tid) {
            window.param_tid = window.param_tid[0];
            window.param_forum_id =
              $(".recommend-item").attr("data-banner-info");
            if (window.param_forum_id) {
              window.param_forum_id = JSON.parse(window.param_forum_id)[
                "forum_id"
              ];
              let timeStamp = Date.now();
              window.page = 1;
              tiebaConfig.insertLoadingHTML();
              loadingView.setTextWithLoadIcon("Loading...");
              loadingView.setVisible(true);
              let url =
                "https://tieba.baidu.com/p/totalComment?t=" +
                timeStamp +
                "&tid=" +
                window.param_tid +
                "&fid=" +
                window.param_forum_id +
                "&pn=" +
                window.page +
                "&see_lz=0";
              let pageUrl =
                "https://tieba.baidu.com/p/" +
                window.param_tid +
                "?pn=" +
                window.page;
              let pageHTML = await tiebaConfig.getPageComment(pageUrl);
              let user_commands_list = await tiebaConfig.getPageCommentList(
                url
              );
              if (pageHTML == 400 || user_commands_list == 400) {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red",
                  "新评论区获取失败"
                );
                return;
              }
              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                "成功获取评论HTML"
              );
              window.max_page = pageHTML.find(".jump_input_bright");
              if (window.max_page.length) {
                window.max_page = parseInt(
                  max_page[0].attributes["max-page"].value
                );
                window.page = window.max_page;
                tiebaConfig.loadingPrevCommand();
                $(window).trigger("scroll");
                __console__.log(
                  "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:0",
                  "当前为多页,执行监听"
                );
              } else {
                let commands = pageHTML.find(".l_post.l_post_bright");
                window.max_page = 1;
                commands = Array.from(commands);
                Array.from(
                  document.getElementsByClassName("post-item")
                ).forEach((ele) => {
                  ele.remove();
                });
                commands.shift();

                window.floor_num = 1;
                commands.reverse();
                commands.forEach((element) => {
                  tiebaConfig.insertNewCommentInnerHTML(
                    tiebaConfig.getNewCommentInnerHTML(
                      element,
                      user_commands_list,
                      true
                    )
                  );
                  window.floor_num++;
                });
                loadingView.destory();
              }

              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c 共 %s 页评论,当前所在 %s 页",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                window.max_page,
                window.page
              );
            } else {
              __console__.log(
                "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:red",
                "贴吧:获取参数data-banner-info失败"
              );
            }
          } else {
            __console__.log(
              "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:red",
              "贴吧:未找到本页参数p"
            );
          }
        }
        let intervalNum = 0;
        let interval = setInterval(() => {
          if (
            $(".recommend-item").attr("data-banner-info") ||
            intervalNum > 30
          ) {
            $(".post-item")?.remove();
            mainPositive();
            tiebaConfig.insertReverseBtn();
            tiebaConfig.insertOnlyLZ();
            clearInterval(interval);
          }
          intervalNum++;
        }, 300);
        // 此处是百度贴吧帖子的css,应对贴吧前端重新编译文件
        GM_addStyle(`
                .post-item[data-v-74eb13e2] {
                    overflow: hidden;
                    margin: .16rem .13rem 0;
                }
                .post-item .user-line-post[data-v-74eb13e2] {
                    margin-bottom: .06rem;
                }
                .user-line-wrapper[data-v-188c0e84], .user-line[data-v-188c0e84] {
                    display: -webkit-box;
                    display: -webkit-flex;
                    display: -ms-flexbox;
                    display: flex;
                }
                .user-line-wrapper[data-v-188c0e84] {
                    -webkit-box-pack: justify;
                    -webkit-justify-content: space-between;
                    -ms-flex-pack: justify;
                    justify-content: space-between;
                }
                .post-item .content[data-v-74eb13e2] {
                    padding-left: .44rem;
                }
                .user-line[data-v-188c0e84] {
                    -webkit-box-align: center;
                    -webkit-align-items: center;
                    -ms-flex-align: center;
                    align-items: center;
                    -webkit-box-pack: left;
                    -webkit-justify-content: left;
                    -ms-flex-pack: left;
                    justify-content: left;
                }
                .user-line-wrapper[data-v-188c0e84], .user-line[data-v-188c0e84] {
                    display: -webkit-box;
                    display: -webkit-flex;
                    display: -ms-flexbox;
                    display: flex;
                }
                .user-line .avatar[data-v-188c0e84] {
                    position: relative;
                    -webkit-box-sizing: border-box;
                    box-sizing: border-box;
                    width: .36rem;
                    height: .36rem;
                    margin-right: .08rem;
                    border-radius: 50%;
                    background-repeat: no-repeat;
                    background-position: 50%;
                    background-size: cover;
                    -webkit-box-flex: 0;
                    -webkit-flex: none;
                    -ms-flex: none;
                    flex: none;
                }
                .tbfe-1px-border {
                    position: relative;
                    border-radius: .08rem;
                    font-size: 0;
                }
                .user-line .user-info[data-v-188c0e84] {
                    position: relative;
                    overflow: hidden;
                    -webkit-box-flex: 0;
                    -webkit-flex: none;
                    -ms-flex: none;
                    flex: none;
                }
                .user-line .avatar[data-v-188c0e84]:after {
                    border-radius: 50%;
                }
                .tbfe-1px-border:after {
                    content: "";
                    position: absolute;
                    z-index: 100;
                    top: 0;
                    left: 0;
                    -webkit-box-sizing: border-box;
                    box-sizing: border-box;
                    border: 1px solid rgba(0,0,0,.12);
                    -webkit-transform-origin: 0 0;
                    -ms-transform-origin: 0 0;
                    transform-origin: 0 0;
                    pointer-events: none;
                }
                .user-line .user-info .username[data-v-188c0e84] {
                    display: -webkit-box;
                    display: -webkit-flex;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                    -webkit-align-items: center;
                    -ms-flex-align: center;
                    align-items: center;
                    overflow: hidden;
                    font-size: .15rem;
                    line-height: .21rem;
                    white-space: nowrap;
                    -o-text-overflow: ellipsis;
                    text-overflow: ellipsis;
                    color: #141414;
                    font-weight: 400;
                }
                .user-line .user-info .desc-info[data-v-188c0e84] {
                    display: -webkit-box;
                    display: -webkit-flex;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                    -webkit-align-items: center;
                    -ms-flex-align: center;
                    align-items: center;
                    font-size: .12rem;
                    line-height: .18rem;
                    overflow: hidden;
                    white-space: nowrap;
                    -o-text-overflow: ellipsis;
                    text-overflow: ellipsis;
                    color: #a3a2a8;
                }
                .user-line .user-info .floor-info[data-v-188c0e84], .user-line .user-info .forum-info[data-v-188c0e84] {
                    margin-right: .08rem;
                }
                .post-item .content .post-text[data-v-74eb13e2] {
                    font-size: .16rem;
                    line-height: .24rem;
                }
                .thread-text[data-v-ab14b3fe] {
                    font-size: .13rem;
                    line-height: .21rem;
                    color: #141414;
                    text-align: justify;
                    word-break: break-all;
                }
                .post-item .content .lzl-post[data-v-74eb13e2] {
                    margin-top: .06rem;
                }
                .lzl-post[data-v-5b60f30b] {
                    padding: .08rem .12rem;
                    background: #f8f7fd;
                    border-radius: .08rem;
                }
                .post-item .content .post-split-line[data-v-74eb13e2] {
                    margin-top: .12rem;
                    background-color: #ededf0;
                    height: 1px;
                    width: 200%;
                    -webkit-transform: scale(.5);
                    -ms-transform: scale(.5);
                    transform: scale(.5);
                    -webkit-transform-origin: top left;
                    -ms-transform-origin: top left;
                    transform-origin: top left;
                }
                .lzl-post .lzl-post-item[data-v-5b60f30b]:first-child {
                    margin-top: 0;
                }
                .lzl-post .lzl-post-item[data-v-5b60f30b] {
                    margin-top: .04rem;
                }
                .lzl-post .lzl-post-item .text-box[data-v-5b60f30b] {
                    font-size: .13rem;
                    line-height: .2rem;
                }
                .lzl-post .lzl-post-item .text-box .link[data-v-5b60f30b] {
                    display: -webkit-inline-box;
                    display: -webkit-inline-flex;
                    display: -ms-inline-flexbox;
                    display: inline-flex;
                    -webkit-box-align: center;
                    -webkit-align-items: center;
                    -ms-flex-align: center;
                    align-items: center;
                    font-weight: 600;
                    color: #a4a1a8;
                }
                .lzl-post .lzl-post-item .lzl-post-text[data-v-5b60f30b] {
                    display: inline;
                }
                .thread-text[data-v-ab14b3fe] {
                    font-size: .13rem;
                    line-height: .26rem;
                    color: #141414;
                    text-align: justify;
                    word-break: break-all;
                }
                .lzl-post .lzl-post-item .text-box .link .landlord[data-v-5b60f30b] {
                    width: .28rem;
                    height: .28rem;
                    margin-left: .04rem;
                }
                .user-line .user-info .username .landlord[data-v-188c0e84] {
                    width: .28rem;
                    height: .28rem;
                    margin-left: .04rem
                }
                `);
        GM_addStyle(`
                .thread-text .BDE_Smiley {
                    width: .2rem;
                    height: .2rem;
                    vertical-align: middle;
                }
                .thread-text .BDE_Image{
                    margin-top: 8px;
                    max-width: 350px;
                    cursor: url(//tb2.bdstatic.com/tb/static-pb/img/cur_zin.cur),pointer;
                    height: auto;
                    width: auto;
                    width: 100%;
                }
                .text-content .at{
                    font-weight: 600;
                    color: #a3a1a9;
                }
                `);
      }
      function registerImagePreview() {
        /* 注册(不可用)全局贴吧图片点击预览 */
        $(document).on("click", function (event) {
          if (
            event.target.getAttribute("src") &&
            event.target
              .getAttribute("src")
              .match(/http(s|):\/\/tiebapic.baidu.com\/forum/g)
          ) {
            __console__.log(
              "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:0",
              "点击图片👇"
            );
            __console__.log(event.target);
            var viewer = new Viewer(event.target, {
              inline: false,
              hidden: () => {
                viewer.destroy();
              },
            });
            viewer.zoomTo(1);
            viewer.show();
          }
        });
      }
      if (this.current_url.match(/http(s|):\/\/tieba.baidu.com/g)) {
        GM_addStyle(this.css.tieba);
        __console__.log(
          "%c[BaiDu优化%c-%c百度贴吧%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
        if (this.current_url.match(/http(s|):\/\/tieba.baidu.com\/p\//g)) {
          setTimeout(function () {
            tiebaLoadComments();
            registerImagePreview();
          }, 2000);
        }
      }
    },
    wenku() {
      // 百度文库
      if (this.current_url.match(/http(s|):\/\/(wk|tanbi).baidu.com/g)) {
        GM_addStyle(this.css.wenku);
        __console__.log(
          "%c[BaiDu优化%c-%c百度文库%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
    },
    jingyan() {
      // 百度经验
      if (this.current_url.match(/http(s|):\/\/jingyan.baidu.com/g)) {
        GM_addStyle(this.css.jingyan);
        __console__.log(
          "%c[BaiDu优化%c-%c百度经验%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
    },
    baike() {
      // 百度百科
      if (this.current_url.match(/http(s|):\/\/baike.baidu.com/g)) {
        GM_addStyle(this.css.baike);
        __console__.log(
          "%c[BaiDu优化%c-%c百度百科%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
        let page_ = 1;
        let page_interval_lock = false;
        let more_url = "https://baike.baidu.com" + window.location.pathname;
        let ele_url = document.getElementById("J-gotoPC-top")?.href;
        if (!ele_url) {
          return;
        }
        let match_id = ele_url.match(/item\/.*\/(\d*)/);

        function set_normal_img_size() {
          //GM_xmlhttpRequest获取到的图片大小要重新设置
          let col_para = document.getElementsByClassName("col-para");
          $.each(col_para, (i, n) => {
            n.setAttribute("style", "width: 42.936vw;margin: 0 auto;");
            let content_img_item = n.getElementsByClassName("content-img-item");
            let content_img_link = n.getElementsByClassName("content-img-link");
            let content_album = n.getElementsByClassName("content-album");
            if (content_album.length != 0) {
              content_album[0].setAttribute("style", "");
              content_img_item = n.getElementsByClassName("content-album-item");
              content_img_link = n.getElementsByClassName("content-album-link");
            }
            if (content_img_item.length != 0) {
              content_img_item[0].setAttribute(
                "style",
                "max-height: 39vw;max-width: 30vw;border-radius: 0.09rem;margin: 0 auto;overflow: hidden;"
              );
            }
            if (content_img_link.length != 0) {
              content_img_link[0].setAttribute("style", "width: 30vw;");
            }
          });
        }

        function insert_img() {
          // GM_xmlhttpRequest获取到的要重新将图片链接插入到img标签中
          let content_img = document.getElementsByClassName("lazy-img");
          $.each(content_img, (i, v) => {
            let content_img = v.parentElement.parentElement.parentElement;
            let img_url = content_img.getAttribute("data-src")
              ? content_img.getAttribute("data-src")
              : v.getAttribute("data-url");
            if (img_url != null) {
              v.innerHTML = '<img src="' + img_url + '"></img>';
            }
          });
        }

        function loadMore() {
          // 循环加载更多内容
          loadingView.setCSS();
          $(".BK-main-content").after(loadingView.html);
          if (match_id.length >= 2) {
            // 由于不知道有多少页,定时器加载判断
            var page_interval = setInterval(function () {
              __console__.log(
                "%c[BaiDu优化%c-%c百度百科%c]%c 定时器loading",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0"
              );
              loadingView.setVisible(true);
              if (page_interval_lock == true) {
                return;
              }
              page_interval_lock = true;
              more_url =
                more_url +
                "?wpf=3&ldr=1&page=" +
                page_ +
                "&insf=1&_=" +
                new Date().getTime();
              __console__.log(
                "%c[BaiDu优化%c-%c百度百科%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                more_url
              );
              GM_xmlhttpRequest({
                url: more_url,
                timeout: 5000,
                method: "GET",
                async: false,
                headers: {
                  "User-Agent":
                    "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Mobile Safari/537.36 Edg/96.0.1054.62",
                },
                onload: function (resp) {
                  loadingView.setVisible(false);
                  let $_resp = $(resp.response);
                  let main_content = $_resp.find(".BK-main-content");
                  let new_content = main_content.prevObject[0].innerHTML;
                  if (new_content.trim() == `<a name="u0"></a>`) {
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度百科%c]%c %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:0",
                      "已到达最大页" + (page_ - 1)
                    );
                    insert_img();
                    set_normal_img_size();
                    loadingView.setHTML("已到达最大页" + (page_ - 1));
                    clearInterval(page_interval);
                  } else {
                    loadingView.setTextWithLoadIcon("正在加载页 " + page_);
                    $(".BK-main-content").append($(new_content));
                  }
                  window.history.pushState("forward", null, setLocationUrl);
                  page_++;
                  page_interval_lock = false;
                },
                onerror: function (resp) {
                  __console__.log(
                    "%c[BaiDu优化%c-%c百度百科%c]%c %s",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:cornflowerblue",
                    "font-weight:bold;color:darkorange",
                    "font-weight:bold;color:cornflowerblue",
                    "color:red",
                    "请求失败 👇"
                  );
                  __console__.log(resp);
                  insert_img();
                  set_normal_img_size();
                  loadingView.setHTML("请求失败");
                  loadingView.setIconVisible(false);
                  clearInterval(page_interval);
                },
              });
            }, 1000);
          } else {
            __console__.log(
              "%c[BaiDu优化%c-%c百度百科%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:red",
              "匹配id失败"
            );
          }
        }
        setTimeout(function () {
          loadMore(page_);
        }, 3000);
      }
    },
    baiketashuo() {
      /* 百度百科-他说 */
      if (this.current_url.match(/http(s|):\/\/baike.baidu.com\/tashuo/g)) {
        setTimeout(function () {
          remove_bottom_ad();
        }, 2000);

        function remove_bottom_ad() {
          // 去除底部广告
          let index_tashuo_list_bottom =
            document.getElementById("index_tashuo_list").children;
          for (let i = 0; i < index_tashuo_list_bottom.length; i++) {
            let item = index_tashuo_list_bottom[i];
            let class_name = item.className;
            if (class_name != "J-hot-item-container") {
              __console__.log(
                "%c[BaiDu优化%c-%c百度百科-他说%c]%c %s",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:cornflowerblue",
                "font-weight:bold;color:darkorange",
                "font-weight:bold;color:cornflowerblue",
                "color:0",
                "TA has ad,remove !"
              );
              item.remove();
              i--;
            }
          }
        }
      }
    },
    zhidao() {
      // 百度知道
      if (this.current_url.match(/http(s|):\/\/zhidao.baidu.com/g)) {
        GM_addStyle(this.css.zhidao);
        __console__.log(
          "%c[BaiDu优化%c-%c百度知道%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
        $(".ec-ad")?.parent()?.remove();
      }
    },
    fanyi() {
      /* 百度翻译 */
      if (this.current_url.match(/http(s|):\/\/fanyi.baidu.com/g)) {
        GM_addStyle(this.css.fanyi);
        __console__.log(
          "%c[BaiDu优化%c-%c百度翻译%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
      if (this.current_url.match(/http(s|):\/\/fanyi-app.baidu.com/g)) {
        GM_addStyle(this.css.fanyiapp);
        let internalNum = 0;
        let internal = setInterval(() => {
          if (internalNum >= 30 || document.querySelector("#page-content")) {
            $("#page-content")?.attr("style", "max-height:unset !important");
            __console__.log(
              "%c[BaiDu优化%c-%c百度翻译APP%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:0",
              "自动展开全文"
            );
            clearInterval(internal);
            return;
          }
          internalNum++;
        }, 150);
        __console__.log(
          "%c[BaiDu优化%c-%c百度翻译APP%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
    },
    image() {
      if (this.current_url.match(/http(s|):\/\/image.baidu.com/g)) {
        GM_addStyle(this.css.image);
        __console__.log(
          "%c[BaiDu优化%c-%c百度图片%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
    },
    map() {
      if (this.current_url.match(/http(s|):\/\/map.baidu.com/g)) {
        GM_addStyle(this.css.map);
        __console__.log(
          "%c[BaiDu优化%c-%c百度地图%c]%c %s",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:cornflowerblue",
          "font-weight:bold;color:darkorange",
          "font-weight:bold;color:cornflowerblue",
          "color:0",
          "插入CSS规则"
        );
      }
    },
  };

  function autoLoadNextPage() {
    /* 百度搜索-自动加载下一页 */
    var isloding_flag = false;
    $("#page-controller").after($(loadingView.html));
    loadingView.setCSS();
    $(window).bind("scroll", function () {
      // scroll at bottom
      let userScrollHeight = Math.ceil(
        $(window).scrollTop() + $(window).height() + 200
      );
      // let userScrollHeight = Math.ceil($(window).scrollTop() + $(window).height());
      if (userScrollHeight >= $(document).height()) {
        // load data
        if (isloding_flag == false) {
          loadingView.setVisible(true);
          isloding_flag = true;

          let next_page_url =
            $(".new-nextpage").attr("href") ||
            $(".new-nextpage-only").attr("href");
          if (!next_page_url) {
            __console__.log(
              "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:0",
              "获取不到下一页,怀疑已加载所有的搜索结果"
            );
            isloding_flag = false;
            $(window).unbind();
            __console__.log(
              "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:cornflowerblue",
              "font-weight:bold;color:darkorange",
              "font-weight:bold;color:cornflowerblue",
              "color:#f400ff",
              "取消绑定监听"
            );
            loadingView.destory();
            return;
          }
          let params_pn = new URL(next_page_url).search.match(/[0-9]+/);
          let next_page_textContent =
            params_pn.length == 0
              ? "第 10 条"
              : "第 " + parseInt(params_pn[0]) + " 条";
          __console__.log(
            "%c[BaiDu优化%c-%c百度搜索%c]%c 正在请求%s数据: %s",
            "font-weight:bold;color:cornflowerblue",
            "font-weight:bold;color:cornflowerblue",
            "font-weight:bold;color:darkorange",
            "font-weight:bold;color:cornflowerblue",
            "color:0",
            next_page_textContent,
            next_page_url
          );
          loadingView.setTextWithLoadIcon("Loading...");
          GM_xmlhttpRequest({
            url: next_page_url,
            timeout: 5000,
            method: "GET",
            onload: function (resp) {
              loadingView.setVisible(false);
              let page_html = $(resp.response);
              page_html.find("style").filter(function (index) {
                /* 插入vue打包的css */ if (
                  this.hasAttribute("data-vue-ssr-id")
                ) {
                  let dataVueSsrId = "data-vue-ssr-id";
                  let dataVueSsrIdValue = this.getAttribute(dataVueSsrId);
                  if (
                    !document.querySelector(
                      "style[data-vue-ssr-id='" + dataVueSsrIdValue + "']"
                    )
                  ) {
                    let cssDOM = GM_addStyle(this.innerHTML);
                    cssDOM.setAttribute("data-vue-ssr-id", dataVueSsrIdValue);
                    __console__.log(
                      "%c[BaiDu优化%c-%c百度搜索%c]%c 插入Vue的CSS: %s",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:cornflowerblue",
                      "font-weight:bold;color:darkorange",
                      "font-weight:bold;color:cornflowerblue",
                      "color:0",
                      dataVueSsrIdValue
                    );
                  }
                }
              });
              let search_result = page_html.find(".c-result.result");
              let next_html_next_page_html = page_html.find("#page-controller");
              let this_page_results = $("#results");
              if (this_page_results != void 0) {
                $.each(search_result, (i, n) => {
                  this_page_results.append(n);
                });
                $("#page-controller").html(next_html_next_page_html);
              } else {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:0",
                  "已加载所有的搜索结果"
                );
                $(window).unbind();
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:#f400ff",
                  "取消绑定监听"
                );
              }
              isloding_flag = false;
              window.history.pushState("forward", null, next_page_url);
            },
            onerror: function (resp) {
              if (next_page_url == undefined) {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red",
                  "未获取到下一页的url"
                );
              } else {
                __console__.log(
                  "%c[BaiDu优化%c-%c百度搜索%c]%c %s",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:cornflowerblue",
                  "font-weight:bold;color:darkorange",
                  "font-weight:bold;color:cornflowerblue",
                  "color:red",
                  "加载失败 👇"
                );
                __console__.log(resp);
                loadingView.setHTML("加载失败");
              }
              isloding_flag = false;
            },
          });
        } else {
          let next_page_textContent =
            $(".new-nowpage").length == 0
              ? "第 10 条"
              : "第 " +
                (parseInt($(".new-nowpage")[0].textContent.match(/([0-9]+)/)) +
                  1) +
                " 条";
          __console__.log(
            "%c[BaiDu优化%c-%c百度搜索%c]%c 正在加载%s中请稍后,请勿重复",
            "font-weight:bold;color:cornflowerblue",
            "font-weight:bold;color:cornflowerblue",
            "font-weight:bold;color:darkorange",
            "font-weight:bold;color:cornflowerblue",
            "color:0",
            next_page_textContent
          );
        }
      }
    });
  }

  var GM_Menu = new Utils.GM_Menu(
    {
      menu_autoloading: {
        text: "自动展开下一页",
        enable: false,
        showText: (_text_, _enable_) => {
          return "[" + (_enable_ ? "√" : "×") + "]" + _text_;
        },
      },
      menu_showisdirect: {
        text: "显示已重定向图标",
        enable: true,
        showText: (_text_, _enable_) => {
          return "[" + (_enable_ ? "√" : "×") + "]" + _text_;
        },
      },
      LOG: {
        text: "控制台输出日志",
        enable: false,
        showText: (_text_, _enable_) => {
          return "[" + (_enable_ ? "√" : "×") + "]" + _text_;
        },
      },
    },
    true
  );
  GM_Menu.init();
  GM_Menu.register();
  GM_addStyle(CSDN_FLAG_CSS);
  baidu.init();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址