改变维基百科皮肤

It's 2020 already! Wikipedia should looks better, shouldn't it?

目前为 2020-08-02 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Change Wikipedia Style
  3. // @name:zh-TW 更改維基百科佈景主題
  4. // @name:zh-CN 改变维基百科皮肤
  5. // @namespace http://tampermonkey.net/
  6. // @version 1.0
  7. // @description It's 2020 already! Wikipedia should looks better, shouldn't it?
  8. // @description:zh-TW It's 2020 already! Wikipedia should looks better, shouldn't it?
  9. // @description:zh-CN It's 2020 already! Wikipedia should looks better, shouldn't it?
  10. // @author You
  11. // @include *://*wiki*.org/*
  12. // @include *://*wiki.org/*
  13. // @grant GM_getValue
  14. // @grant GM_setValue
  15. // @grant GM_deleteValue
  16. // @grant GM_registerMenuCommand
  17. // @run-at document-start
  18. // @require https://openuserjs.org/src/libs/sizzle/GM_config.js
  19. // ==/UserScript==
  20.  
  21.  
  22.  
  23. function showMenu(){
  24. var menuElement = document.createElement('div');
  25. menuElement.setAttribute("style", "position: fixed; top: 8px; left: 8px; padding: 8px; background: #FFF; border-radius: 8px; box-shadow: 4px 4px 16px;");
  26. document.querySelector("body").appendChild(menuElement);
  27. menuElement.innerHTML += '<select name="menu_wikipediaStyle">'
  28. + ' <option value="vector">vector (Wikipedia Default)</option>'
  29. + ' <option value="minerva">minerva (Wikipedia Default for Phone)</option>'
  30. + ' <option value="modern">modern</option>'
  31. + ' <option value="monobook">monobook</option>'
  32. + ' <option value="timeless">timeless (The Best)</option>'
  33. + '</select>'
  34. + '<button id="menu_wikipediaStyle_save">Save</button>';
  35.  
  36. document.querySelector("#menu_wikipediaStyle_save").addEventListener("click", function(event){
  37. var WikipediaStyle = document.querySelector("select[name=menu_wikipediaStyle]").value;
  38. GM_setValue("WikipediaStyle", WikipediaStyle);
  39. var StyleName = GM_getValue("WikipediaStyle","timeless");
  40.  
  41. /*refresh*/
  42. var page_url = new URL(location.href);
  43. page_url.searchParams.set("useskin", StyleName);
  44. window.location.replace(page_url.href);
  45. });
  46. }
  47.  
  48. GM_registerMenuCommand("Choose Your Style", showMenu);
  49.  
  50. (function() {
  51. 'use strict';
  52. var StyleName = GM_getValue("WikipediaStyle","timeless");
  53. var page_url = new URL(location.href);
  54. var now_style = page_url.searchParams.get("useskin");
  55. if( now_style === null ){
  56. page_url.searchParams.set("useskin", StyleName);
  57. window.location.replace(page_url.href);
  58. }
  59. })();
  60.