Patreon.lib

Adds Patreon Context Menu

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/14852/93835/Patreonlib.js

  1. $(function() {
  2. $('<div id="contextMenuContainer" style="display: none; position: fixed; border: 1px solid gray; background: #f3f3f3; width:auto; z-index: 100;"><ul id="contextMenu" style="list-style: none; padding: 0px; font-size: 20px;"><li style="font-size: 20px; cursor: pointer; padding-top: 5px; padding-left: 20px; padding-right: 20px; padding-bottom: 5px; text-align: center;"><a href="https://www.patreon.com/bePatron?patAmt=10&u=2614470" target="_new"><img src="https://orig14.deviantart.net/ca4f/f/2015/039/1/5/oox0e_patreon_logo_shine_by_artbrosean-d8h8tmp.png" height="50px" width="50px"/></a></li></ul></div>').appendTo('body');
  3. var doubleClicked = false;
  4. $(document).on("contextmenu", function (e) {
  5. if(doubleClicked == false) {
  6. e.preventDefault(); // To prevent the default context menu.
  7. var windowHeight = $(window).height()/2;
  8. var windowWidth = $(window).width()/2;
  9. if(e.clientY > windowHeight && e.clientX <= windowWidth) {
  10. $("#contextMenuContainer").css("left", e.clientX);
  11. $("#contextMenuContainer").css("bottom", $(window).height()-e.clientY);
  12. $("#contextMenuContainer").css("right", "auto");
  13. $("#contextMenuContainer").css("top", "auto");
  14. } else if(e.clientY > windowHeight && e.clientX > windowWidth) {
  15. $("#contextMenuContainer").css("right", $(window).width()-e.clientX);
  16. $("#contextMenuContainer").css("bottom", $(window).height()-e.clientY);
  17. $("#contextMenuContainer").css("left", "auto");
  18. $("#contextMenuContainer").css("top", "auto");
  19. } else if(e.clientY <= windowHeight && e.clientX <= windowWidth) {
  20. $("#contextMenuContainer").css("left", e.clientX);
  21. $("#contextMenuContainer").css("top", e.clientY);
  22. $("#contextMenuContainer").css("right", "auto");
  23. $("#contextMenuContainer").css("bottom", "auto");
  24. } else {
  25. $("#contextMenuContainer").css("right", $(window).width()-e.clientX);
  26. $("#contextMenuContainer").css("top", e.clientY);
  27. $("#contextMenuContainer").css("left", "auto");
  28. $("#contextMenuContainer").css("bottom", "auto");
  29. }
  30. $("#contextMenuContainer").fadeIn(500, FocusContextOut());
  31. doubleClicked = true;
  32. } else {
  33. e.preventDefault();
  34. doubleClicked = false;
  35. $("#contextMenuContainer").fadeOut(500);
  36. }
  37. });
  38. function FocusContextOut() {
  39. $(document).on("click", function () {
  40. doubleClicked = false;
  41. $("#contextMenuContainer").fadeOut(500);
  42. $(document).off("click");
  43. });
  44. }
  45. GM_registerMenuCommand('Become a Patron', function() {
  46. GM_openInTab("https://www.patreon.com/bePatron?patAmt=10&u=2614470");
  47. }, 'p');
  48. });