Smart Page Auto Refresh

Intelligently refreshes web pages only when content changes - no configuration needed

目前为 2024-11-05 提交的版本。查看 最新版本

// ==UserScript==
// @name         Smart Page Auto Refresh
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Intelligently refreshes web pages only when content changes - no configuration needed
// @author       kequn yang
// @match        *://*
// @match        file:///*
// @grant        none
// @run-at       document-end
// @license MIT
// ==/UserScript==

(function() {
    'use strict';
    
    let lastContent = '';
    const REFRESH_INTERVAL = 1000;
    
    function getCurrentContent(html) {
        const tempDiv = document.createElement('div');
        tempDiv.innerHTML = html;
        return tempDiv.innerHTML;
    }
    
    function hasContentChanged(newContent) {
        const changed = lastContent !== newContent;
        lastContent = newContent;
        return changed;
    }

    async function checkAndRefresh() {
        try {
            const response = await fetch(window.location.href);
            const text = await response.text();
            const newContent = getCurrentContent(text);
            
            if (hasContentChanged(newContent)) {
                const tempDiv = document.createElement('div');
                tempDiv.innerHTML = text;
                document.body.innerHTML = tempDiv.body.innerHTML;
            }
        } catch (error) {
            // Silent fail - no refresh on error
        }
    }

    function setupAutoRefresh() {
        lastContent = document.body.innerHTML;
        setInterval(checkAndRefresh, REFRESH_INTERVAL);
    }

    setupAutoRefresh();
})();