在百度百科中添加灰机Wiki中文维基MBA智库等按钮

在百度百科中添加相同式样的Magi搜索(暂停服务,替换成灰机Wiki)、中文维基、MBA智库按钮。打开部分参考自dylan.li的原脚本并优化宽度:

اعتبارا من 25-10-2023. شاهد أحدث إصدار.

  1. // ==UserScript==
  2. // @name 在百度百科中添加灰机Wiki中文维基MBA智库等按钮
  3. // @name:en Add Buttons to MBA Zhiku|WikipediaCN|HuijiWiki in Baidupedia
  4. // @namespace Black Rabbit
  5. // @version 1.1.0
  6. // @description 在百度百科中添加相同式样的Magi搜索(暂停服务,替换成灰机Wiki)、中文维基、MBA智库按钮。打开部分参考自dylan.li的原脚本并优化宽度:
  7. // @description:en Add same looks' buttons in Baidupedia, that jump to MBA Zhiku, WikipediaCN, HuijiWiki. Fork from the original script by Kevi Zuckerberg.
  8. // @include http://baike.baidu.com/*
  9. // @include https://baike.baidu.com/*
  10. // @author Black Rabbit
  11. // @icon https://baike.baidu.com/favicon.ico
  12. // @require https://code.jquery.com/jquery-3.7.1.min.js
  13. // ==/UserScript==
  14.  
  15. function ori_method() {
  16. var headwidth = document.getElementsByClassName('wgt-searchbar wgt-searchbar-new wgt-searchbar-main cmn-clearfix wgt-searchbar-large');
  17. headwidth = headwidth[0];
  18. headwidth.style.width = "1300px";
  19.  
  20. //Huiji
  21. $('#searchForm > #search').after('<button class="hjwiki" type="button">灰机Wiki</button>');
  22. $('.hjwiki').on({
  23. click: function () {
  24. window.open("https://www.huijiwiki.com/index.php?title=%E7%89%B9%E6%AE%8A:%E5%85%A8%E5%B1%80%E6%90%9C%E7%B4%A2&key=" + $('#query') .val());
  25. return false;
  26. }
  27. });
  28.  
  29. //mba
  30. $('#searchForm > #search').after('<button class="mbazk" type="button">MBA智库</button>');
  31. $('.mbazk').on({
  32. click: function () {
  33. window.open("https://wiki.mbalib.com/wiki/Special:Search?search=" + $('#query') .val());
  34. return false;
  35. }
  36. });
  37. //wiki
  38. $('#searchForm > #search').after('<button class="wikizn" type="button">中文维基</button>');
  39. $('.wikizn').on({
  40. click: function () {
  41. window.open("https://zh.wikipedia.org/wiki/" + $('#query') .val());
  42. return false;
  43. }
  44. });
  45. console.log("Run old method");
  46. }
  47.  
  48. function new_method() {
  49. var headwidth = document.getElementsByClassName('lemmaSearchBar_iqVhO');
  50. headwidth = headwidth[0];
  51. headwidth.style.width = "1300px";
  52. var query = $('div.lemmaSearchBarWrapper_uK_i6 > div.lemmaSearchBar_iqVhO > div.searchBar_y3cFr.clearfix > div.rightWrapper_MV_63 > div.inputWrapper_pg1f_ > input.searchInput_qiZhW');
  53.  
  54. //Huiji
  55. $('div.rightWrapper_MV_63 > button.lemmaBtn_F27pH').after('<button class="hjwiki my_button" style="margin-left: 4px">灰机Wiki</button>');
  56. $('.hjwiki').on({
  57. click: function () {
  58. window.open("https://www.huijiwiki.com/index.php?title=%E7%89%B9%E6%AE%8A:%E5%85%A8%E5%B1%80%E6%90%9C%E7%B4%A2&key=" + query.val());
  59. return false;
  60. }
  61. });
  62.  
  63. //mba
  64. $('div.rightWrapper_MV_63 > button.lemmaBtn_F27pH').after('<button class="mbazk my_button" style="margin-left: 4px">MBA智库</button>');
  65. $('.mbazk').on({
  66. click: function () {
  67. window.open("https://wiki.mbalib.com/wiki/Special:Search?search=" + query.val());
  68. return false;
  69. }
  70. });
  71.  
  72. //wiki
  73. $('div.rightWrapper_MV_63 > button.lemmaBtn_F27pH').after('<button class="wikizn my_button" style="margin-left: 4px">中文维基</button>');
  74. $('.wikizn').on({
  75. click: function () {
  76. window.open("https://zh.wikipedia.org/wiki/" + query.val() );
  77. return false;
  78. }
  79. });
  80.  
  81. $(".my_button").css({
  82. "-webkit-appearance": "none",
  83. "background": "#38f",
  84. "border": "1px solid",
  85. "border-color": "#38f #38f #2d78f4",
  86. "border-radius": "0",
  87. "color": "#fff",
  88. "cursor": "pointer",
  89. "display": "inline-block",
  90. "float": "left",
  91. "font-family": "arial",
  92. "font-size": "16px",
  93. "height": "40px",
  94. "letter-spacing": "1px",
  95. "outline": "medium",
  96. "width": "104px"
  97. });
  98.  
  99. console.log("Run new method");
  100. }
  101.  
  102. function detect() {
  103. console.log("detecting . . . .");
  104. var body = document.body;
  105. if (body.getAttribute("class")) {
  106. console.log("ori DOM");
  107. ori_method();
  108. } else {
  109. console.log("new DOM");
  110. new_method();
  111. }
  112. }
  113.  
  114. setTimeout(detect,1000);