Greasy Fork

来自缓存

Greasy Fork is available in English.

解除網頁縮放限制 (Force Enable Zoom)

強制解除部分網頁禁止縮放的限制,讓你可以自由放大縮小。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         解除網頁縮放限制 (Force Enable Zoom)
// @namespace    http://tampermonkey.net
// @version      1.0
// @description  強制解除部分網頁禁止縮放的限制,讓你可以自由放大縮小。
// @author       Your Name
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    function forceZoom() {
        // 找到所有的 meta viewport 標籤
        const meta = document.querySelector('meta[name="viewport"]');
        if (meta) {
            // 將 user-scalable 改為 yes,並移除最大縮放限制
            let content = meta.getAttribute('content');
            
            // 替換禁止縮放的關鍵字
            content = content.replace(/user-scalable\s*=\s*(no|0)/g, 'user-scalable=yes');
            content = content.replace(/maximum-scale\s*=\s*[0-9.]+/g, 'maximum-scale=10');
            content = content.replace(/minimum-scale\s*=\s*[0-9.]+/g, 'minimum-scale=0.1');
            
            meta.setAttribute('content', content);
        } else {
            // 如果沒找到 meta viewport,主動建立一個允許縮放的
            const newMeta = document.createElement('meta');
            newMeta.name = "viewport";
            newMeta.content = "width=device-width, initial-scale=1.0, user-scalable=yes, maximum-scale=10";
            document.getElementsByTagName('head')[0].appendChild(newMeta);
        }
    }

    // 立即執行一次
    forceZoom();

    // 監聽 DOM 變化,防止某些網站動態改回限制
    const observer = new MutationObserver(forceZoom);
    observer.observe(document.documentElement, { attributes: true, subtree: true, attributeFilter: ['content'] });

})();