web-dev-qa-db-fra.com

Comment empêcheriez-vous une page de se rafraîchir automatiquement?

J'ai un problème lorsque j'essaie de vérifier la source d'une page intéressante qui se rafraîchit automatiquement toutes les 3 à 5 secondes (probablement en raison d'un script js) qui réinitialise ma Inspecter l'élément Fenêtre d'inspection à chaque fois que la page est actualisée.

Existe-t-il un autre moyen d'empêcher cette page de se rafraîchir ou peut-être que la fenêtre de l'inspecteur se réinitialise autrement que d'activer NoScript pour empêcher la page de se rafraîchir automatiquement ?

24
Clone

Firefox a la possibilité d'empêcher le rafraîchissement natif, l'option est dans Avancé-> Général-> M'avertir lorsque des sites Web tentent de rediriger ou de recharger la page enter image description here

21
berserck

Habituellement, je viens d'ouvrir DevTools, de basculer vers le panneau approprié si nécessaire et d'appuyer sur pause.

Ouverture de DevTools: via les menus ou en appuyant sur F12Ctrl+Shift+I, ou Cmd+Shift+I en fonction du navigateur et du système d'exploitation.

Changer de panneau: choisissez le panneau dans les onglets en haut de DevTools. Ce sera appelé "Debugger" (Firefox, IE) ou "Sources" (Chrome) ou similaire.

Pause: dans le panneau Débogueur/Sources, cliquez sur le bouton pause (il ressemble généralement au bouton pause d'une télécommande de télévision, ||) ou appuyez sur l'équivalent clavier. Les équivalents clavier sont

  • Firefox et Chrome: F8
  • C'EST À DIRE: Ctrl+Shift+B
27
Loïc Lopes

La solution la plus courante à ce problème consiste à intercepter l'événement beforeunload . Le navigateur demandera à l'utilisateur une confirmation pour quitter la page. Le code, dans sa forme la plus simple, ressemble à ceci:

window.onbeforeunload = function() { return true }

Vous pouvez entrer ce code dans la console. Alternativement, vous pouvez simplement coller ce qui suit [~ # ~] url [~ # ~] dans la barre d'adresse du navigateur (console non requise). Vous pouvez même le mettre en signet.

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

Sachez que les navigateurs modernes peuvent couper le javascript: partie lorsque vous la collez dans la barre d'adresse; assurez-vous de le taper à nouveau.


Pour déterminer la cause de la redirection dans Firefox, essayez ce qui suit:

  • Ouvrez les outils de développement Web (CTRL + MAJ + I), ouvrez "Options de la boîte à outils" et cochez l'option "Activer les journaux persistants". Cela rend les journaux persistants à travers les chargements de page (les journaux sont effacés sinon).

  • Passez maintenant à l'onglet "Moniteur réseau".

  • Ouvrez l'URL et laissez-la se rafraîchir.

  • Dans la colonne Moniteur réseau> Cause, vous découvrirez pourquoi la page se recharge.

Firefox Web Developer Tools > Network Monitor

La colonne de cause est assez ambiguë (Chrome fait un bien meilleur travail). Cependant, si JavaScript a été utilisé pour déclencher le (re) chargement de la page, il vous montre au moins le nom de fichier et le numéro de ligne de ce script.

5
Salman A

Lorsque la page est toujours en cours de chargement, vous pouvez appuyer sur la touche Échap. Pendant que la page est encore blanche, appuyez dessus. Lorsque vous arrêtez le chargement de la page à ce stade, cela arrête généralement tout le javascript chargé automatiquement. Les scripts qui s'exécutent sur des actions ne sont généralement pas effectués. Chaque page est différente, essayez des horaires différents.

Lorsque j'utilise un site appelé NovelUpdates, il y a du javascript qui peut masquer certains éléments, et lorsque j'appuie sur Échap sur la page, tous les éléments qui seraient cachés après le chargement de la page sont visibles. Ensuite, lorsque je clique sur un bouton qui exécuterait javascript qui fonctionne sans problème. NoScript ne va pas résoudre votre problème, je crois.

Un autre exemple de cela est ces sites Web avec des boîtes ennuyeuses qui apparaissent après 10 secondes qui disent que vous n'êtes pas membre et ne pouvez plus voir ce site sans vous connecter, comme certains sites Web d'articles de presse.

1
skaviouz

Ce que vous pourriez faire, c'est utiliser la commande exit (), qui est l'équivalent de mourir en php et arrête simplement le script. Si vous ne savez pas ce qui en est la cause et que vous ne voulez pas rechercher le "mauvais garçon", vous pouvez tout aussi bien arrêter le script en bas de la page.

0
Xaphas