29

当我尝试检查有趣页面的来源时遇到问题,该页面每 3-5 秒自动刷新一次(可能是由于某些 js 脚本),每次刷新页面时都会重置我的Inspect Element Inspector 窗口。

除了打开NoScript来阻止页面自动刷新之外,还有其他方法可以阻止该页面刷新或检查器窗口自行重置吗?

4

5 回答 5

31

通常我只是打开 DevTools,必要时切换到相应的面板,然后点击暂停。

打开 DevTools:通过菜单,或按F12Ctrl+Shift+ICmd+Shift+I取决于浏览器和操作系统。

切换面板:从 DevTools 顶部的选项卡中选择面板。它将被称为“Debugger”(Firefox、IE)或“Sources”(Chrome)或类似名称。

暂停:在 Debugger/Sources 面板中,单击暂停按钮(通常看起来像电视遥控器上的暂停按钮,||)或按等效键盘。键盘等效项是

  • 火狐和铬:F8
  • IE:Ctrl+Shift+B
于 2017-04-19T12:09:47.723 回答
20

(2020-03-30 更新)

在 Firefox 74 中,此选项位于选项 -> 隐私和安全 -> 权限中 在此处输入图像描述

(原回复)

Firefox 有阻止本机刷新的选项,该选项位于高级->常规->当网站尝试重定向或重新加载页面时警告我在此处输入图像描述

于 2017-04-19T06:19:17.957 回答
6

这个问题最流行的解决方案是捕获beforeunload事件。浏览器将要求用户确认离开页面。代码最简单的形式如下所示:

window.onbeforeunload = function() { return true }

您可以在控制台中输入此代码。或者,您可以简单地将以下URL粘贴到浏览器地址栏中(不需要控制台)。您甚至可以为它添加书签。

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

请注意,javascript:当您将其粘贴到地址栏中时,现代浏览器可能会切断该部分;确保你输入回来。


要确定 Firefox 中重定向的原因,请尝试以下操作:

  • 打开 Web 开发工具(CTRL + SHIFT + I),打开“工具箱选项”并选中“启用持久性日志”选项。这使得日志在页面加载时持续存在(否则日志将被清除)。

  • 现在切换到“网络监视器”选项卡。

  • 打开 URL 并让它刷新。

  • 在 Network Monitor > Cause 列中,您会发现页面重新加载的原因。

Firefox Web 开发者工具 > 网络监视器

原因列非常模糊(Chrome做得更好)。但是,如果 JavaScript 用于触发页面(重新)加载,那么它至少会向您显示该脚本的文件名和行号。

于 2017-04-19T16:59:23.717 回答
1

当页面仍在加载时,您可以按 Esc 键。当页面仍然是白色时,按下它。当您此时停止加载页面时,这通常会停止所有自动加载的 javascript。任何在动作上运行的脚本通常都不会受到影响。每个页面都不一样,尝试不同的时间。

当我使用一个名为 NovelUpdates 的网站时,有 javascript 可以隐藏某些元素,当我在页面加载时按 Esc 时,页面加载后将隐藏的所有元素都是可见的。然后,当我单击一个可以执行运行没有问题的 javascript 的按钮时。我相信 NoScript 不会解决您的问题。

另一个例子是那些带有烦人的框的网站,这些框会在 10 秒后弹出,说明您不是会员,并且在没有登录的情况下无法查看该网站的任何内容,例如某些新闻文章网站。

于 2017-04-19T06:13:43.233 回答
0

您可以做的是使用命令 exit(),这相当于在 php 中死亡并简单地停止脚本。如果您不知道是什么原因造成的,并且不想寻找“坏男孩”,那么您不妨将整个脚本停在页面的最底部。

于 2017-04-20T14:01:15.533 回答