页面下拉刷新(稳重版)

页面顶部下拉自动刷新,防止误触,排除特定网站

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         页面下拉刷新(稳重版)
// @namespace    https://example.com
// @version      1.4
// @description  页面顶部下拉自动刷新,防止误触,排除特定网站
// @match        *://*/*
// @exclude      https://greasyfork.org/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let startY = 0;
    let startX = 0;
    let triggered = false;
    const threshold = 160; // 触发距离更长
    const maxXOffset = 40; // 横向偏移限制,避免斜拉误触

    document.addEventListener('touchstart', e => {
        if (window.scrollY === 0) {
            startY = e.touches[0].clientY;
            startX = e.touches[0].clientX;
            triggered = false;
        }
    });

    document.addEventListener('touchmove', e => {
        if (triggered || window.scrollY > 0) return;

        const currentY = e.touches[0].clientY;
        const currentX = e.touches[0].clientX;
        const deltaY = currentY - startY;
        const deltaX = Math.abs(currentX - startX);

        if (deltaY > threshold && deltaX < maxXOffset) {
            triggered = true;
            location.reload();
        }
    });
})();