当我尝试检查有趣页面的来源时遇到问题,该页面每 3-5 秒自动刷新一次(可能是由于某些 js 脚本),每次刷新页面时都会重置我的Inspect Element Inspector 窗口。
除了打开NoScript来阻止页面自动刷新之外,还有其他方法可以阻止该页面刷新或检查器窗口自行重置吗?
当我尝试检查有趣页面的来源时遇到问题,该页面每 3-5 秒自动刷新一次(可能是由于某些 js 脚本),每次刷新页面时都会重置我的Inspect Element Inspector 窗口。
除了打开NoScript来阻止页面自动刷新之外,还有其他方法可以阻止该页面刷新或检查器窗口自行重置吗?
通常我只是打开 DevTools,必要时切换到相应的面板,然后点击暂停。
打开 DevTools:通过菜单,或按F12、Ctrl+Shift+I或Cmd+Shift+I取决于浏览器和操作系统。
切换面板:从 DevTools 顶部的选项卡中选择面板。它将被称为“Debugger”(Firefox、IE)或“Sources”(Chrome)或类似名称。
暂停:在 Debugger/Sources 面板中,单击暂停按钮(通常看起来像电视遥控器上的暂停按钮,||)或按等效键盘。键盘等效项是
这个问题最流行的解决方案是捕获beforeunload
事件。浏览器将要求用户确认离开页面。代码最简单的形式如下所示:
window.onbeforeunload = function() { return true }
您可以在控制台中输入此代码。或者,您可以简单地将以下URL粘贴到浏览器地址栏中(不需要控制台)。您甚至可以为它添加书签。
javascript:window.onbeforeunload = function() { return true }
请注意,javascript:
当您将其粘贴到地址栏中时,现代浏览器可能会切断该部分;确保你输入回来。
要确定 Firefox 中重定向的原因,请尝试以下操作:
打开 Web 开发工具(CTRL + SHIFT + I),打开“工具箱选项”并选中“启用持久性日志”选项。这使得日志在页面加载时持续存在(否则日志将被清除)。
现在切换到“网络监视器”选项卡。
打开 URL 并让它刷新。
在 Network Monitor > Cause 列中,您会发现页面重新加载的原因。
原因列非常模糊(Chrome做得更好)。但是,如果 JavaScript 用于触发页面(重新)加载,那么它至少会向您显示该脚本的文件名和行号。
当页面仍在加载时,您可以按 Esc 键。当页面仍然是白色时,按下它。当您此时停止加载页面时,这通常会停止所有自动加载的 javascript。任何在动作上运行的脚本通常都不会受到影响。每个页面都不一样,尝试不同的时间。
当我使用一个名为 NovelUpdates 的网站时,有 javascript 可以隐藏某些元素,当我在页面加载时按 Esc 时,页面加载后将隐藏的所有元素都是可见的。然后,当我单击一个可以执行运行没有问题的 javascript 的按钮时。我相信 NoScript 不会解决您的问题。
另一个例子是那些带有烦人的框的网站,这些框会在 10 秒后弹出,说明您不是会员,并且在没有登录的情况下无法查看该网站的任何内容,例如某些新闻文章网站。
您可以做的是使用命令 exit(),这相当于在 php 中死亡并简单地停止脚本。如果您不知道是什么原因造成的,并且不想寻找“坏男孩”,那么您不妨将整个脚本停在页面的最底部。