2017-04-19 10 views
20

Ich habe ein Problem, wenn ich versuche, die Quelle einer interessanten Seite zu überprüfen, die alle 3-5 Sekunden automatisch aktualisiert (vermutlich aufgrund eines js-Skripts), die mein Inspektorfenster Inspect jedes Mal zurückgesetzt, wenn die Seite aktualisiert wird .Wie würden Sie verhindern, dass eine Seite automatisch aktualisiert wird?

Gibt es eine andere Art und Weise andere die Seite von erfrischenden oder vielleicht der Inspektor-Fenster, um zu verhindern Zurücksetzen sich anders als Anschalten NoScript die Seite von Auffrischen automatisch zu stoppen?

+0

Würde [this] (https://stackoverflow.com/questions/3527041/prevent-any-form-of-page-refresh-using-jquery-javascript) helfen? Nicht sicher, ob Sie eine Software-Triggerred-Aktualisierung auf diese Weise verhindern können. Ich habe versucht, 'location.reload' zu patchen, aber ich denke, das wird nicht funktionieren, wenn es in der Schließung gespeichert ist. –

+2

Haben Sie den Debugger verwendet? und dann debuggen Sie Ihren Code. – fruitjs

+0

Sie könnten versuchen, die Webseiten-Dateien lokal zu speichern und gehen Sie auf die Jagd für die beleidigende js offline, umgehen Sie es, dann inspizieren weg. Etwas roh, aber könnte funktionieren? – ne1410s

Antwort

21

Firefox hat die Option Refresh nativ zu verhindern, ist die Option in Advanced-> Allgemein-> Warnen, wenn Websites versuchen, die Seite enter image description here

+1

Schön! ......... –

+0

Interessante Einstellung.Ich konnte mich nicht erinnern, dass ich diese Option in Firefox hatte. Vielen Dank für Ihre Antwort! – Clone

+0

@ T.J.Crowder, könnten Sie bitte den Code posten, den Sie geschrieben haben, bevor Sie ihn entfernt haben? Ich habe nicht die Chance bekommen, es zu speichern:, ( – Clone

1

Wenn die Seite noch geladen wird, können Sie die Esc-Taste drücken. Während die Seite noch weiß ist, drücken Sie sie. Wenn Sie das Laden der Seite zu diesem Zeitpunkt stoppen, wird normalerweise das automatisch geladene JavaScript gestoppt. Alle Skripts, die auf Aktionen ausgeführt werden, sind normalerweise nicht betroffen. Jede Seite ist anders, versuchen Sie es mit anderen Zeiten.

Wenn ich eine Website namens NovelUpdates verwende, gibt es Javascript, das bestimmte Elemente ausblenden kann, und wenn ich Esc auf der Seite lade, werden alle Elemente angezeigt, die nach dem Laden der Seite sichtbar wären. Dann, wenn ich auf eine Schaltfläche klicke, die Javascript ausführen würde, das ohne Probleme funktioniert. NoScript wird dein Problem nicht lösen, glaube ich.

Ein anderes Beispiel dafür sind die Websites mit lästigen Boxen, die nach 10 Sekunden erscheinen, die sagen, dass Sie kein Mitglied sind und mehr von dieser Seite ohne Anmeldung nicht sehen können, wie einige Nachrichtenartikel-Websites.

24

Normalerweise ich nur offen DevTools, Schalter in die entsprechende Platte zu umleiten oder nachladen wenn nötig, und drücken Sie Pause.

Öffnungs DevTools: Via Menü oder durch drücken F12, Strg + Umschalt + I oder Cmd + Shift + I je nach Browser und Betriebssystem.

Schaltpanels: Wählen Sie das Panel aus den Registerkarten oben in DevTools aus. Es heißt "Debugger" (Firefox, IE) oder "Sources" (Chrome) oder ähnliches. Pause: Klicken Sie im Bereich "Debugger/Quellen" auf die Schaltfläche "Pausieren" (sieht normalerweise wie die Pausetaste auf einer Fernsehfernbedienung aus, ||) oder drücken Sie die entsprechende Taste auf der Tastatur. Tastatur-Äquivalente

  • Firefox & Chrome: F8
  • IE: Strg + Umschalt + B
+2

Brilliant Einfach, einfach. Funktioniert für mich in Chrome, Firefox, IE11. –

3

Die beliebteste Lösung für dieses Problem zu stoppen ist die beforeunload Ereignis. Der Browser fordert den Benutzer zur Bestätigung auf, die Seite zu verlassen. Der Code sieht in seiner einfachsten Form folgendermaßen aus:

window.onbeforeunload = function() { return true } 

Sie können diesen Code in der Konsole eingeben. Alternativ können Sie einfach die folgende URL URL in die Browser-Adressleiste einfügen (Konsole nicht erforderlich). Sie können es sogar mit einem Lesezeichen versehen.

javascript:window.onbeforeunload = function() { return true } 

Beachten Sie, dass moderne Browser die javascript: Teil abhacken könnte, wenn man es in der Adressleiste einfügen; vergewissere dich, dass du es zurück gibst.


Zur Bestimmung der Ursache der Umleitung in Firefox, versuchen Sie die folgenden:

  • Open Web Developer Tools (CTRL + SHIFT + I), öffnen Sie "Toolbox Optionen" und überprüfen Sie die " Option "Persistente Logs aktivieren". Dadurch bleiben die Protokolle beim Laden der Seite bestehen (Protokolle werden ansonsten gelöscht).

  • Wechseln Sie nun zur Registerkarte "Netzwerkmonitor".

  • Öffnen Sie die URL und lassen Sie sie aktualisieren.

  • In der Spalte Netzwerkmonitor> Ursache erfahren Sie, warum die Seite neu geladen wird.

Firefox Web Developer Tools > Network Monitor

Die Ursache Spalte ist ziemlich mehrdeutig (Chrome hat eine viel bessere Arbeit). Wenn JavaScript jedoch dazu verwendet wurde, die Seite neu zu laden, zeigt es zumindest den Dateinamen und die Zeilennummer dieses Skripts an.

+0

Der 'onbeforeunload'-Trick funktioniert nur, wenn die Seitenaktualisierung nicht auf einer Schleife innerhalb der Seite ist. ZB würde es dies stoppen:' setTimeout (Funktion () {location.reload();}, 1000); 'aber nicht das:' setInterval (function() {location.reload();}, 1000); 'Im zweiten Fall werden Sie immer nur aufgefordert, abzubrechen immer und immer wieder :-) (Gute Idee, aber.) –

0

Sie können den Befehl exit() verwenden, der in PHP gleichbedeutend ist und einfach das Skript stoppt. Wenn Sie nicht wissen, was es verursacht und Sie nicht nach dem "bösen Jungen" suchen wollen, dann können Sie auch das gesamte Skript ganz unten auf der Seite stoppen.

Verwandte Themen