在 Firebug 中,如何停止重定向?我想在网页重定向之前检查并编辑它。在选项Net
卡下,使用Persist
我可以看到所有 GET,包括之前的页面和重定向页面,但我仍然被带到最终的重定向页面。我想在此之前停止一个移动。可以吗?
编辑:这是一个基于 JavaScript 的重定向,但我需要其余的 JavaScript 工作,因此阻止所有 JavaScript 执行并不是这个实例的解决方案。
答案1
哪种重定向?除了 Firebug 之外,您还可以使用 Firefox 插件来阻止重定向。Firebug 本身似乎不提供此功能。
通过在 about:config 中将 accessibility.blockautorefresh 设置为 true,可以阻止基于 HTML“元刷新”(也称为 HTTP“刷新”)的重定向。实际上,这对应于选项 > 高级 > 常规中的“当网站尝试重定向或重新加载页面时警告我”选项。或者,可以使用以下插件刷新阻止程序可以使用。
对于基于 JavaScript 的重定向,可以完全禁用 JS,或者使用以下插件无脚本可以使用。
通常,在使用 HTTP 3xx 响应代码重定向的页面上,您无法检查太多内容。如果有人想知道,在 about:config 中将 network.http.redirection-limit 设置为 0 会导致所有这些页面都显示 Firefox 错误页面。
JS 重定向
基于 JS 的重定向很困难。我不知道有什么方法可以从浏览器内部阻止它们。但是,您可以使用 Fiddler2 等调试代理拦截响应,并将其替换为您自己的修改后的响应(Fiddler2 中的 AutoResponder 是一种方法)。在此修改后的响应中,您需要删除对 和 的任何引用window.location
,这location
是从 JS 更改页面的常用方法 [您可能能够用虚拟变量替换它们,例如var thisIsAMadeUpVarName
]。这样,重定向就永远不会到达浏览器。请参阅“在 HTML 中搜索和替换。”部分这个文件(如果 JS 文件是单独提供的,您可能还希望对其进行过滤)。
答案2
我知道我有点晚了,但我认为最好的解决方案是使用 Fiddler 来阻止对重定向 URL 的访问。
我认为在该网址上添加一个自动回复程序,以便它返回204_无内容.dat响应会起作用。这至少在 Firefox 上有效。
另一种选择可能是使用“内容处置:附件“因此浏览器被强制下载它并且不改变窗口内容。