您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Scroll down, reload and notify at changes
// ==UserScript== // @name Logviewer // @namespace rokdd // @author rokondo // @description Scroll down, reload and notify at changes // @include *.log$ // @include *log.html$ // @version 005 // @grant GM_getValue // @grant GM_setValue // @grant GM_notification // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-sa/4.0/legalcode // @grant window.focus // @require https://code.jquery.com/jquery-2.1.4.min.js // @homepageURL https://www.rokdd.xyz // ==/UserScript== // ==OpenUserJS== // @author rokondo // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-sa/4.0/legalcode // ==/OpenUserJS== //notification script based on: https://stackoverflow.com/questions/36779883/userscript-notifications-work-on-chrome-but-not-firefox var duration = 1; var count_chars=2000; $("html, body").animate({ scrollTop: $(document).height() }); function injectStylesheet(url) { $('head').append('<link rel="stylesheet" href="'+url+'" type="text/css" />'); } function shim_GM_notification () { if (typeof GM_notification === "function") { return; } window.GM_notification = function (ntcOptions) { checkPermission (); function checkPermission () { if (Notification.permission === "granted") { fireNotice (); } else if (Notification.permission === "denied") { alert ("User has denied notifications for this page/site!"); return; } else { Notification.requestPermission ( function (permission) { console.log ("New permission: ", permission); checkPermission (); } ); } } function fireNotice () { if ( ! ntcOptions.title) { console.log ("Title is required for notification"); return; } if (ntcOptions.text && ! ntcOptions.body) { ntcOptions.body = ntcOptions.text; } var ntfctn = new Notification (ntcOptions.title, ntcOptions); if (ntcOptions.onclick) { ntfctn.onclick = ntcOptions.onclick; } if (ntcOptions.timeout) { setTimeout ( function() { ntfctn.close (); }, ntcOptions.timeout); } } } } (function() { 'use strict'; $(document).ready(function() { injectStylesheet("https://cdn.rawgit.com/kamranahmedse/jquery-toast-plugin/bd761d335919369ed5a27d1899e306df81de44b8/dist/jquery.toast.min.css"); var time = new Date().getTime(); $(document.body).bind("mousemove keypress", function(e) { time = new Date().getTime(); }); function refresh() { if(new Date().getTime() - time >= 60000) window.location.reload(true); else setTimeout(refresh, 30000); } shim_GM_notification (); // store current content in a variable var eurk = $("html").children(":visible").text(); // compare local storage with current content to make alarm if (GM_getValue('eurkLoc-'+document.location.href,"")!="" && GM_getValue('eurkLoc-'+document.location.href,"") != eurk.substring(eurk.length-count_chars,count_chars)) { var url=document.location.href; var notificationDetails = { text: 'Content changed. Click to change tab!', title: ''+url.replace(/^.*\/|\.[^.]*$/g, ''), timeout: 6000, onclick: function () { window.focus (); } }; GM_notification (notificationDetails); } else { } GM_setValue('eurkLoc-'+document.location.href, eurk.substring(eurk.length-count_chars,count_chars)); function resetFunction() { localStorage.setItem('eurn kLoc', eurk); }; }); //inject jqtoast })();