私は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);
これは機能しますが、@ includeステートメントで指定されたタブだけでなく、開いているすべてのタブを5分ごとに再ロードします。
これを行う方法はありますか?
そのコードには破損した メタデータブロック があり、そのブロックにはスペースが重要であり、行の先頭に余分なスペースがあるとコードが壊れる可能性があります-すべてのページでスクリプトが起動します(デフォルトの動作)。
更新:破損したブロックの外観は、ここSuperUserでの表示のバグである可能性があります。少し調査します。
Updatier:破損したブロックは本物であり、OPのコードはタブとスペースの組み合わせによってインデントされ、SUの生の投稿をだましましたエディターですが、最終的な表示ではありません。
また、@include
ディレクティブは、存在しないWebページを指定しています。 ww.
、 対 www.
。その行は次のようになります。
// @include http://www.bbc.co.uk/
またはおそらく:
// @include http://www.bbc.co.uk/*
ホームページだけでなく、それ以上の効果が必要な場合。
すべてをまとめて、推奨される方法でsetTimeout
を使用します(「autoeval()」の使用は避けてください)。
// ==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);
Javascriptでこれを行う方法はわかりませんが、Firefoxには ReloadEvery というアドオンがあります。それをインストールし、FFを再起動してから、ページを右クリックして、ReloadEveryとtimeを選択します。