LeetCode Contest: Open at leetcode.cn

Add an "Open at LeetCode.cn" button on the LeetCode Contest page.

  1. // ==UserScript==
  2. // @name LeetCode Contest: Open at leetcode.cn
  3. // @namespace JohnZhu04
  4. // @match https://leetcode.com/contest/*/problems/*
  5. // @grant none
  6. // @version 1.0
  7. // @author JohnZhu04
  8. // @license MIT
  9. // @supportURL https://github.com/JohnZhu04/LeetScript/issues
  10. // @icon https://www.google.com/s2/favicons?sz=64&domain=leetcode.com
  11. // @description Add an "Open at LeetCode.cn" button on the LeetCode Contest page.
  12. // ==/UserScript==
  13.  
  14. const openCNURL = () => {
  15. const url = window.location.href.replace("leetcode.com", "leetcode.cn");
  16. window.open(url);
  17. };
  18.  
  19. const main = () => {
  20. const whichDiv = ".question-title";
  21. const buttonClass = "btn btn-default panel-hover";
  22. const buttonText = "Open at LeetCode.cn";
  23. if (!document.querySelector(whichDiv)) {
  24. window.setTimeout(main, 2000);
  25. }
  26. const button = document.createElement("button");
  27. button.innerText = buttonText;
  28. button.addEventListener("click", openCNURL);
  29. button.className = buttonClass;
  30. document.querySelector(whichDiv).appendChild(button);
  31. };
  32.  
  33. main();