您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatic page refresh after 3 minutes of inactivity when the page is not in focus, including handling of the ResizeObserver error.
// ==UserScript== // @name Auto Refresh for Legal Aid & Justice Websites // @author PointStar // @license MIT // @namespace http://tampermonkey.net/ // @version 1.2.1 // @description Automatic page refresh after 3 minutes of inactivity when the page is not in focus, including handling of the ResizeObserver error. // @match https://*.justice.gov.il/* // @match https://*.court.gov.il/* // @match https://*.btl.gov.il/* // @grant none // ==/UserScript== (function() { 'use strict'; // טיפול בשגיאת ResizeObserver window.addEventListener('error', function(event) { if (event.message && event.message.includes("ResizeObserver loop completed")) { event.stopImmediatePropagation(); console.warn("התגלתה שגיאת ResizeObserver, מתעלמים ממנה"); } }); let refreshTimeout; const timeoutDuration = 180000; // 180,000 מילי-שניות = 3 דקות // הפעלה של הטיימר - לאחר 3 דקות ללא פעילות, הדף יתרענן function startRefreshTimer() { if (!refreshTimeout) { console.log("הטיימר התחיל"); refreshTimeout = setTimeout(function() { console.log("לא הייתה פעילות במשך 3 דקות - מבצע רענון"); location.reload(); refreshTimeout = null; }, timeoutDuration); } } // ביטול הטיימר function cancelRefreshTimer() { if (refreshTimeout) { console.log("הטיימר בוטל"); clearTimeout(refreshTimeout); refreshTimeout = null; } } // אתחול מחדש של הטיימר - משמש בעת גילוי פעילות משתמש function resetRefreshTimer() { cancelRefreshTimer(); startRefreshTimer(); } // פונקציה לבדיקה האם הטיימר פעיל (ניתן להריץ דרך הקונסול) function checkTimer() { if (refreshTimeout) { console.log("הטיימר פעיל"); } else { console.log("אין טיימר פעיל"); } } window.checkTimer = checkTimer; // הפעלת הטיימר עם טעינת הדף startRefreshTimer(); // מאזינים לאירועי פעילות של המשתמש (תנועת עכבר, הקשות, גלילה ומגע) const activityEvents = ['mousemove', 'keydown', 'scroll', 'touchstart']; activityEvents.forEach(eventName => { window.addEventListener(eventName, resetRefreshTimer, false); }); // מאזין לשינוי במצב הפוקוס של הדף (למשל, במקרה של מינימיזציה) document.addEventListener("visibilitychange", function() { if (document.hidden) { // אם העמוד מוסתר, מוודאים שהטיימר רץ if (!refreshTimeout) startRefreshTimer(); } else { // אם העמוד חוזר להיות פעיל, מאפסים את הטיימר resetRefreshTimer(); } }); })();