Jestem nowy w Greasemonkey i javascript, ale znalazłem poniższy skrypt, aby przeładowywać stronę co 5 minut.
// ==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);
Działa to, ale co 5 minut ponownie ładuje wszystkie otwarte karty, a nie tylko tę określoną w instrukcji @include.
Czy jest na to jakiś sposób?
firefox
javascript
greasemonkey
Neil Spencer
źródło
źródło
Odpowiedzi:
Ten kod ma uszkodzony blok metadanych , spacje są krytyczne dla tego bloku, a dodatkowe spacje na początku linii mogą go złamać - powodując uruchomienie skryptu dla wszystkich stron (zachowanie domyślne).
Aktualizacja: Pojawienie się uszkodzonego bloku może być tylko błędem wyświetlacza w SuperUser. Za chwilę to zbadam.
Updatier: Zepsuty blok jest prawdziwy, kod OP jest wcięty przez kombinację tabulatorów i spacji, które oszukały edytor postów SU, ale nie końcowy ekran.
Ponadto
@include
dyrektywa określa stronę internetową, która nie istnieje.ww.
, w porównaniu zwww.
. Ta linia powinna być:Lub ewentualnie:
jeśli chcesz czegoś więcej niż tylko strony głównej.
Złóż wszystko razem i używaj
setTimeout
w zalecany sposób (Unikaj używania „auto eval ()”):źródło
Nie jestem pewien, jak to zrobić w JavaScript, ale Firefox ma dodatek o nazwie ReloadEvery . Zainstaluj go, uruchom ponownie FF, a następnie kliknij stronę prawym przyciskiem myszy i wybierz Przeładuj co i raz.
źródło