Seite automatisch in Chrome ohne Plugin neu laden

Mit dem TabMixPlus-Plugin für Firefox oder Chrome kann ich mit der rechten Maustaste auf eine Seite klicken und "Neu laden" auswählen..."und ich könnte ein Intervall wählen.

Ich würde es vorziehen, kein Plugin zu installieren, es sei denn, ich muss wirklich, und ich bin mir bewusst, dass Sie spezielle Dinge in die Adressleiste von Chrome eingeben können.

Das lässt mich denken, dass so etwas, das direkt in die Adresse eingegeben wird, funktionieren könnte:

javascript:setInterval(window.location.reload(), 2000); //2 secs`

Ich habe es noch nicht geschafft, möchte es aber immer noch nicht ausschließen als Möglichkeit.

Ist das möglich?

Author: jon, 2012-06-13

3 answers

Nach 6 Jahren habe ich eine Lösung dafür!

Die Antwort ist inspiriert von den anderen Antworten hier.

Die Antwort von

Edub hat bei mir nicht funktioniert, sie hat die Seite immer wieder neu geladen und den duration-Parameter von setInterval nicht beachtet. Ich verstehe nicht, warum Edubs Antwort nicht wie erwartet funktioniert.

Das funktioniert bei mir in Chrome 67:

javascript:document.getElementsByTagName("body")[0].innerHTML = "<iframe id=\"testFrame\" src=\""+window.location.toString()+"\" style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\"><\/iframe>";reloadTimer = setInterval(function(){ document.getElementById("testFrame").src=document.getElementById("testFrame").src },10000)

Formatierte version:

document.getElementsByTagName("body")[0].innerHTML = 
"<iframe id=\"testFrame\" 
        src=\"" + window.location.toString() + "\" 
      style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\">
<\/iframe>";
reloadTimer = setInterval(
    function(){ 
        document.getElementById("testFrame").src=document.getElementById("testFrame").src
    },
    10000
)

Dies funktioniert, indem der aktuelle Dokumentkörper durch einen Iframe ersetzt wird, der auf das aktuelle Fenster zeigt Lage.

Dann wird setInterval aufgerufen, wodurch die Seite auf einem Timer neu geladen wird.

Dies funktioniert gut als Lesezeichen. Setintervals komplementäre Funktion kann auch per Lesezeichen aufgerufen werden: javascript:clearTimer(reloadTimer)

Anmerkungen:

  • Einige Websites erkennen, dass auf sie über iframe zugegriffen wird, und versuchen, den Zugriff zu verhindern (z. B. Stack-Sites!)

  • Browser entfernen das Präfix javascript: beim Einfügen in die Adressleiste, sodass es manuell eingegeben werden muss. Jedoch javascript: wird bei Eingabe über Lesezeichen nicht entfernt.

 18
Author: jon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-06-25 10:15:55

Sie können dies über die Chrome-Entwicklertools mithilfe der Tastenkombination tunstrg+Umschalt+j. Laden Sie die gewünschte Seite, sagen Sie zum Beispiel: http://www.w3schools.com/jsref/dom_obj_frame.asp dann drücke strg+Umschalt+j so öffnen Sie die Entwicklertools. Klicken Sie mit der rechten Maustaste auf das Body-Tag und wählen Sie Bearbeiten als HTML Ersetzen Sie den inneren Inhalt (wobei das Tag und die schließenden Tags intakt bleiben) durch Folgendes:

<iframe id="testFrame" src="http://www.w3schools.com/jsref/dom_obj_frame.asp" style="position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;" onload="setInterval(document.getElementById('testFrame').contentWindow.location.reload(), 10000);"></iframe>

Um die Bearbeitung als HTML zu beenden sie können entweder esc drücken oder auf eines der Tags außerhalb des bearbeiteten Tags klicken. Die Seite sollte alle 10 Sekunden neu geladen werden, Sie können die Entwicklertools schließen, wenn Sie möchten, und sie wird weiterhin aktualisiert, kein Plugin erforderlich:)

 11
Author: Justin Buser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-07-15 14:18:55

Die Lösung von Justin Buser einen Schritt weiter zu nehmen, führte mich zu:

document.getElementsByTagName("body")[0].innerHTML = "<iframe id=\"testFrame\" src=\""+window.location.toString()+"\" style=\"position: absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%;\" onload=\"setInterval(document.getElementById(\'testFrame\').contentWindow.location.reload(), 10000);\"><\/iframe>"

Die Idee, die Site in einen Iframe einzubetten, um sie neu laden zu können, funktioniert einwandfrei (denke ich). Ich habe gerade Code geschrieben, um das Body Elment abzurufen und das innerhtml durch einen Iframe für die aktuelle URL zu ersetzen.

Auf diese Weise ist es möglich, einen JavaScript-Code mit einem Lesezeichen zu versehen und ihn an einer beliebigen Stelle auszulösen, um ihn neu zu laden. Hoffe, es hilft.

 3
Author: Edub,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-10-30 21:37:37