禁止网页双击放大

可以通过油猴菜单控制当前页面是否启用禁止双击放大功能,默认启用该功能。

// ==UserScript==
// @name         禁止网页双击放大
// @author       ChatGPT
// @version      1.0
// @description  可以通过油猴菜单控制当前页面是否启用禁止双击放大功能,默认启用该功能。
// @match        *://*/*
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// @run-at       document-end
// @namespace https://greasyfork.org/users/452911
// ==/UserScript==

(function() {
    'use strict';

    // 获取当前网站URL,并根据其生成一个唯一的存储键
    var storageKey = window.location.hostname;

    // 根据存储键获取已保存的设置(如果存在)
    var isEnabled = GM_getValue(storageKey, true);

    function showAlert() {
        
    // 禁止双击放大函数
function disableDoubleClickZoom() {
  let lastTouchEnd = 0;
  let body = document.body;

  // 监听touchend事件,阻止事件默认行为
  body.addEventListener("touchend", function(event) {
    let now = (new Date()).getTime();
    if (now - lastTouchEnd <= 300) {
      event.preventDefault();
    }
    lastTouchEnd = now;
  }, false);

  // 禁止双击缩放
  body.addEventListener("gesturestart", function(event) {
    event.preventDefault();
  });
}

disableDoubleClickZoom(); // 调用函数禁止双击放大
    }

    // 根据保存的设置来启用或禁用弹出提示框功能
    if (isEnabled) {
        showAlert();
    }

    // 创建油猴菜单项,在菜单中添加“启用”和“禁用”选项
    GM_registerMenuCommand(isEnabled ? '点击允许网页双击放大' : '点击禁止网页双击放大', function() {
        isEnabled = !isEnabled;
        GM_setValue(storageKey, isEnabled);
        if (isEnabled) {
            showAlert();
        }
    });
})();