为网页添加一个遮罩(可用来遮蔽字幕)

为网页添加一个遮罩,可以用来遮蔽字幕练习英文,可自行修改match网址以适配其他网页

  1. // ==UserScript==
  2. // @name 为网页添加一个遮罩(可用来遮蔽字幕)
  3. // @name:zh-TW 為網頁添加一個遮罩(可用来遮蔽字幕)
  4. // @name:en Add a mask into the website
  5. // @namespace http://tampermonkey.net/
  6. // @version 0.3
  7. // @description 为网页添加一个遮罩,可以用来遮蔽字幕练习英文,可自行修改match网址以适配其他网页
  8. // @description:en Add a mask into the website. It can be used to cover the subtitle etc.
  9. // @description:zh-TW 為網頁添加一個遮罩,可以用來遮蔽字幕練習英文,可自行修改match網址以適配其他網頁
  10. // @author You
  11. // @match *://www.bilibili.com/video*
  12. // @grant none
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17.  
  18. var mask = document.createElement("div");
  19. mask.innerHTML = '<div id="resize" style="background-color: red;position: absolute;width: 10px;height: 10px;right: 0px;bottom: 0px;"></div>';
  20. mask.setAttribute ('id', 'mask');
  21. mask.style.position = "absolute";
  22. mask.style.backgroundColor = "grey";
  23. mask.style.width = "50px";
  24. mask.style.height = "50px";
  25. mask.style.left = "20px";
  26. mask.style.top = "80px";
  27. mask.style.zIndex = "999999";
  28. document.body.appendChild(mask);
  29.  
  30.  
  31. var resize = document.getElementById("resize");
  32. var moveFlag = false;
  33. var resizeFlag = false;
  34. var pointX;
  35. var pointY;
  36. var initialWidth;
  37. var initialHeight;
  38.  
  39. if(localStorage.getItem("maskTop") != undefined){
  40. mask.style.width = localStorage.getItem("maskWidth") + "px";
  41. mask.style.height = localStorage.getItem("maskHeight") + "px";
  42. mask.style.left = localStorage.getItem("maskLeft") + "px";
  43. mask.style.top = localStorage.getItem("maskTop") + "px";
  44. }
  45.  
  46. resize.onmousedown = function(){
  47. resizeFlag = true;
  48. pointX = window.event.pageX;
  49. pointY = window.event.pageY;
  50. initialWidth = mask.offsetWidth;
  51. initialHeight = mask.offsetHeight;
  52. }
  53.  
  54. mask.onmousedown = function(){
  55. if(resizeFlag != true){
  56. moveFlag = true;
  57. pointX = event.offsetX;
  58. pointY = event.offsetY;
  59. }
  60. }
  61. window.onmouseup = function(){
  62. moveFlag = false;
  63. resizeFlag = false;
  64. localStorage.setItem("maskTop", mask.offsetTop);
  65. localStorage.setItem("maskLeft", mask.offsetLeft);
  66. localStorage.setItem("maskWidth", mask.offsetWidth);
  67. localStorage.setItem("maskHeight", mask.offsetHeight);
  68. }
  69.  
  70. window.onmousemove = function(){
  71. if(moveFlag == true){
  72. window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
  73. mask.style.left = window.event.pageX - pointX + "px";
  74. mask.style.top = window.event.pageY - pointY + "px";
  75. } else if(resizeFlag == true){
  76. window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
  77. mask.style.width = window.event.pageX - pointX + initialWidth + "px";
  78. mask.style.height = window.event.pageY - pointY + initialHeight + "px";
  79. }
  80. }
  81. // Your code here...
  82. })();

QingJ © 2025

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