我是 Greasemonkey 和 javascript 的新手,但发现下面的脚本每 5 分钟重新加载一次页面。
// ==UserScript==
// @name Auto Reload Protopage
// @namespace http://blog.monstuff.com/archives/cat_greasemonkey.html
// @description Reload pages every 5 minutes
// @include http://ww.bbc.co.uk
// @grant none
// ==/UserScript==
// based on code by Julien Couvreur
// and included here with his gracious permission
var numMinutes = 5;
window.setTimeout("document.location.reload();", numMinutes*60*1000);
这是可行的,但是它每 5 分钟重新加载一次所有打开的选项卡,而不仅仅是 @include 语句中指定的选项卡。
有什么办法可以做到这一点?
答案1
该代码有损坏元数据块,空格对于该块至关重要,并且行首的多余空格可能会将其打断 - 导致脚本在所有页面上触发(默认行为)。
更新: 损坏块的出现可能只是 SuperUser 的一个显示错误。稍后会进行调查。
更新者:损坏的块是真实存在的,OP 的代码是通过制表符和空格混合缩进的,这欺骗了 SU 的原始帖子编辑器,但欺骗了最终的显示。
此外,该@include
指令指定了一个不存在的网页。ww.
,而不是www.
。 该行应该是:
// @include http://www.bbc.co.uk/
或者可能:
// @include http://www.bbc.co.uk/*
如果您想要的不仅仅是主页效果。
将它们放在一起并setTimeout
按照推荐的方式使用(避免使用“auto eval()”):
// ==UserScript==
// @name Auto Reload Protopage
// @namespace http://blog.monstuff.com/archives/cat_greasemonkey.html
// @description Reload pages every 5 minutes
// @include http://www.bbc.co.uk/
// @grant none
// ==/UserScript==
// based on code by Julien Couvreur
// and included here with his gracious permission
var numMinutes = 5;
setTimeout (location.reload, numMinutes*60*1000);
答案2
我不确定如何在 Javascript 中做到这一点,但 Firefox 有一个名为的插件每次重新加载。安装它,重新启动 FF,然后右键单击页面并选择 ReloadEvery 和时间。