您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Page refresh script with advanced features
// ==UserScript== // @name Ultimate Auto Refresh with Countdown // @namespace http://tampermonkey.net/ // @version 3.8 // @description Page refresh script with advanced features // @author ibomen // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; const defaultRefreshInterval = 60; // Varsayılan yenileme süresi (saniye) let refreshInterval = defaultRefreshInterval; let timeLeft = refreshInterval; let isRunning = true; let theme = localStorage.getItem('theme') || 'dark'; // Tema tercihini yerel depodan al let currentLanguage = localStorage.getItem('scriptLanguage') || 'en'; // Dil ayarını yerel depodan al const translations = { en: { pageRefresh: 'Page will refresh in', refreshStopped: 'Refresh stopped', stop: 'Stop', start: 'Start', reset: 'Reset', refreshInterval: 'Refresh interval (seconds)', changeTheme: 'Change Theme', donate: 'Donate', donationInfo: 'TRX: TC9bVN7tBr6DBjKGDZ51pz8D9TdD4DqreF', }, tr: { pageRefresh: 'Sayfa içinde yenilenecek', refreshStopped: 'Yenileme durduruldu', stop: 'Durdur', start: 'Başlat', reset: 'Sıfırla', refreshInterval: 'Yenileme süresi (saniye)', changeTheme: 'Tema Değiştir', donate: 'Bağış Yap', donationInfo: 'TRX: TC9bVN7tBr6DBjKGDZ51pz8D9TdD4DqreF', } }; // Log ekranı oluşturma const logDiv = document.createElement('div'); logDiv.style.position = 'fixed'; logDiv.style.bottom = '10px'; logDiv.style.right = '10px'; logDiv.style.width = '250px'; logDiv.style.padding = '10px'; logDiv.style.backgroundColor = theme === 'dark' ? '#000000' : '#ffffff'; logDiv.style.color = theme === 'dark' ? '#ffffff' : '#000000'; logDiv.style.fontFamily = 'Arial, sans-serif'; logDiv.style.zIndex = '9999'; logDiv.style.borderRadius = '5px'; document.body.appendChild(logDiv); // Site adı ve iconu const siteName = document.createElement('div'); const siteIcon = document.createElement('img'); siteIcon.src = getFavicon(); siteIcon.style.width = '16px'; siteIcon.style.height = '16px'; siteIcon.style.marginRight = '5px'; siteName.appendChild(siteIcon); siteName.appendChild(document.createTextNode(document.title)); logDiv.appendChild(siteName); // Bağış bölümü const donationDiv = document.createElement('div'); donationDiv.style.display = 'none'; donationDiv.style.marginTop = '10px'; donationDiv.style.backgroundColor = theme === 'dark' ? '#000000' : '#ffffff'; donationDiv.style.padding = '10px'; donationDiv.style.borderRadius = '5px'; donationDiv.style.color = theme === 'dark' ? '#ffffff' : '#000000'; donationDiv.style.wordWrap = 'break-word'; // Ekrana sığmasını sağlamak için eklenen stil donationDiv.innerHTML = `<b>${translations[currentLanguage].donationInfo}</b>`; logDiv.appendChild(donationDiv); // Geri sayım göstergesi const countdown = document.createElement('div'); countdown.style.marginTop = '10px'; logDiv.appendChild(countdown); // Azalan bar const progressBar = document.createElement('div'); progressBar.style.width = '100%'; progressBar.style.height = '10px'; progressBar.style.backgroundColor = 'gray'; progressBar.style.marginTop = '10px'; progressBar.style.borderRadius = '5px'; logDiv.appendChild(progressBar); const progress = document.createElement('div'); progress.style.height = '100%'; progress.style.backgroundColor = 'red'; progress.style.borderRadius = '5px'; progressBar.appendChild(progress); // Başlat/Durdur butonu const toggleButton = document.createElement('button'); toggleButton.textContent = translations[currentLanguage].stop; toggleButton.style.marginTop = '10px'; toggleButton.style.width = '100%'; logDiv.appendChild(toggleButton); // Sıfırla butonu const resetButton = document.createElement('button'); resetButton.textContent = translations[currentLanguage].reset; resetButton.style.marginTop = '5px'; resetButton.style.width = '100%'; logDiv.appendChild(resetButton); // Yenileme süresi girişi const intervalInput = document.createElement('input'); intervalInput.type = 'number'; intervalInput.value = refreshInterval; intervalInput.style.marginTop = '5px'; intervalInput.style.width = '100%'; intervalInput.placeholder = translations[currentLanguage].refreshInterval; logDiv.appendChild(intervalInput); // Tema değiştirme butonu const themeButton = document.createElement('button'); themeButton.textContent = translations[currentLanguage].changeTheme; themeButton.style.marginTop = '5px'; themeButton.style.width = '100%'; logDiv.appendChild(themeButton); // Bağış butonu const donationButton = document.createElement('button'); donationButton.textContent = translations[currentLanguage].donate; donationButton.style.marginTop = '5px'; donationButton.style.width = '100%'; logDiv.appendChild(donationButton); // Dil seçme butonu const languageButton = document.createElement('button'); languageButton.textContent = currentLanguage === 'en' ? 'Türkçe' : 'English'; languageButton.style.marginTop = '5px'; languageButton.style.width = '100%'; logDiv.appendChild(languageButton); // Favicon alma fonksiyonu function getFavicon() { let favicon = '/favicon.ico'; const nodeList = document.getElementsByTagName('link'); for (let i = 0; i < nodeList.length; i++) { if (nodeList[i].getAttribute('rel') === 'icon' || nodeList[i].getAttribute('rel') === 'shortcut icon') { favicon = nodeList[i].getAttribute('href'); } } return favicon; } // Geri sayım fonksiyonu function updateCountdown() { if (isRunning) { countdown.textContent = `${translations[currentLanguage].pageRefresh} ${timeLeft}`; progress.style.width = `${(timeLeft / refreshInterval) * 100}%`; if (timeLeft <= 0) { refreshPage(); } else { timeLeft--; } } else { countdown.textContent = ''; } } // Sayfa yenileme fonksiyonu function refreshPage() { playSound(); location.reload(); } // Tema değiştirme fonksiyonu function toggleTheme() { theme = theme === 'dark' ? 'light' : 'dark'; logDiv.style.backgroundColor = theme === 'dark' ? '#000000' : '#ffffff'; logDiv.style.color = theme === 'dark' ? '#ffffff' : '#000000'; donationDiv.style.backgroundColor = theme === 'dark' ? '#000000' : '#ffffff'; donationDiv.style.color = theme === 'dark' ? '#ffffff' : '#000000'; if (theme === 'dark') { themeButton.style.backgroundColor = '#ffffff'; themeButton.style.color = '#000000'; } else { themeButton.style.backgroundColor = '#000000'; themeButton.style.color = '#ffffff'; } localStorage.setItem('theme', theme); // Tema tercihini yerel depoya kaydet } // Dil değiştirme fonksiyonu function toggleLanguage() { currentLanguage = currentLanguage === 'en' ? 'tr' : 'en'; localStorage.setItem('scriptLanguage', currentLanguage); // Dil ayarını yerel depoya kaydet updateTexts(); } // Metinleri güncelleme fonksiyonu function updateTexts() { toggleButton.textContent = isRunning ? translations[currentLanguage].stop : translations[currentLanguage].start; resetButton.textContent = translations[currentLanguage].reset; intervalInput.placeholder = translations[currentLanguage].refreshInterval; themeButton.textContent = translations[currentLanguage].changeTheme; donationButton.textContent = translations[currentLanguage].donate; languageButton.textContent = currentLanguage === 'en' ? 'Türkçe' : 'English'; donationDiv.innerHTML = `<b>${translations[currentLanguage].donationInfo}</b>`; } // Sesli bildirim oynatma function playSound() { const audio = new Audio('https://www.soundjay.com/button/beep-07.wav'); audio.play(); } // Başlat/Durdur butonu tıklama olayını işleme toggleButton.addEventListener('click', () => { isRunning = !isRunning; toggleButton.textContent = isRunning ? translations[currentLanguage].stop : translations[currentLanguage].start; }); // Sıfırla butonu tıklama olayını işleme resetButton.addEventListener('click', () => { timeLeft = refreshInterval; }); // Yenileme süresi giriş değişikliği olayını işleme intervalInput.addEventListener('change', () => { refreshInterval = parseInt(intervalInput.value); timeLeft = refreshInterval; }); // Tema değiştirme butonu tıklama olayını işleme themeButton.addEventListener('click', toggleTheme); // Dil seçme butonu tıklama olayını işleme languageButton.addEventListener('click', toggleLanguage); // Bağış butonu tıklama olayını işleme donationButton.addEventListener('click', () => { donationDiv.style.display = donationDiv.style.display === 'none' ? 'block' : 'none'; }); // Log ekranını göster logDiv.style.display = 'block'; // Geri sayımı başlatma updateCountdown(); setInterval(updateCountdown, 1000); updateTexts(); // Dil ayarını yükledikten sonra metinleri güncelle })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址