JavaScriptとGreasemonkeyを使用してFirefoxの1つのタブのみをリロードしますか?


8

私は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分ごとに再ロードされます。

これを行う方法はありますか?


http://ww.bbc.co.ukは存在しませんか?
ラウジン、

申し訳ありません-それは単なるタイプミスでした
Neil Spencer

回答:


8

そのコードはメタデータブロックが壊れており、そのブロックではスペースが重要であり、行の先頭に余分なスペースがあるとコードが壊れる可能性があります。これにより、すべてのページでスクリプトが起動します(デフォルトの動作)。

更新: 破損したブロックの外観は、SuperUserの表示バグの可能性があります。少し調べてみます。
Updatier:破損したブロックは本物であり、OPのコードはタブとスペースの混合によってインデントされ、SUのraw-postエディターをだましましたが、最終的な表示はしませんでした。

また、@includeディレクティブは存在しないWebページを指定しています。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);

1
素晴らしい-これに感謝します。スクリプトは実際、すべてのページではなく、必要なページでのみ動作しています。
Neil Spencer、

2

JavaScriptでこれを行う方法はわかりませんが、FirefoxにはReloadEveryというアドオンがあります。インストールしてFFを再起動し、ページを右クリックして、ReloadEveryと時間を選択します。


1
はい-しかし、Firefoxを開いてWebサイトにアクセスするたびに、ReloadEveryをアクティブにする必要があります。ページに移動するだけでリロードが自動的に有効になるようにしたいです。上記のJavaScriptはこれを行いますが、開いている他のすべてのタブもリロードします。
Neil Spencer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.