【问题标题】:Chrome extension: How to catch redirect?Chrome 扩展程序:如何捕获重定向?
【发布时间】:2018-08-21 14:40:50
【问题描述】:

我需要捕获一个 http 重定向(以防止网站上出现重定向循环)。我尝试使用 webRequest API (onBeforeRedirect),但它似乎没有捕捉到重定向。

这是我的 manifest.json:

{
  "manifest_version": 2,

  "name": "name",
  "description": "description",
  "version": "1.0",

  "permissions": [
    "<all_urls>","webRequest","webRequestBlocking"
  ],
  "background": {
    "scripts": ["test.js"],
    "persistent": true
  }
}

这是我的 test.js:

var callback = function(details) {
    console.log("redirect caught!");
};

chrome.webRequest.onBeforeRedirect.addListener(callback);

我做错了什么?

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension http-redirect


    【解决方案1】:

    您的代码应该正在运行。但是,您不能取消重定向。见这位官方guide。您可以在开发者控制台中检查保留日志复选框并确认您的日志redirect caught! 已打印。

    onBeforeRedirect 在即将执行重定向时触发。一种 重定向可以由 HTTP 响应代码或 延期。此事件是信息性的并且是异步处理的。它 不允许您修改或取消请求。

    【讨论】:

    • 好的,谢谢你的回答。所以不能解决我的问题吗?我是一个网站的用户,该网站有时会出现重定向循环(A 重定向到 B,B 重定向到 A),删除 cookie 解决了这个问题。但是这个cookie是需要认证的,所以只有检测到这个循环才可以删除
    • @gateQ 我明白你在说什么。尝试寻找其他解决方法。
    • 您知道我可以使用什么解决方法吗?
    • 在我亲身体验之前,我真的无话可说。但正如您所说,删除 cookie 可以解决问题,因此您可以考虑围绕该 cookie 的解决方案。
    猜你喜欢
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    相关资源
    最近更新 更多