为了账号安全,请及时绑定邮箱和手机立即绑定

Firefox 扩展中的 BlockingResponse

Firefox 扩展中的 BlockingResponse

叮当猫咪 2023-11-02 22:48:40
我正在尝试在 Firefox 扩展中重定向用户,如下所示:browser.webRequest.onBeforeRequest.addListener(  ({ url }) => {    const [fullMatch, type, identifier] =      url.match(        /open\.spotify\.com\/(track|album|artist|playlist|concert|episode|show|user)\/([^\&\#\/\?]+)/i      ) || [];    return { redirectUrl: `spotify:${type}:${identifier}` };  },  {    urls: ["*://open.spotify.com/track/*", "*://open.spotify.com/album/*",  "*://open.spotify.com/artist/*", "*://open.spotify.com/playlist/*",  "*://open.spotify.com/concert/*", "*://open.spotify.com/episode/*",  "*://open.spotify.com/show/*", "*://open.spotify.com/user/*"],    types: ["xmlhttprequest"],  },  ["blocking"]);我已在清单中添加了 webRequest 和 webRequestBlocking 权限。在调试器中,我看到我到达了正确设置了redirectUrl 的return 语句,但网页没有重定向。我认为这应该根据webRequest 文档进行重定向,但是临时扩展似乎没有重定向。关于如何使扩展程序重定向有什么想法吗?例如,将 url 更改为https://www.google.com也不起作用,因此问题似乎不在于 URL。
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

经过一些测试,我确定问题出在类型数组上。xmlhttprequest 在 Firefox 中不会捕获某些请求,但在 Chrome 中会捕获某些请求。为了仍然能够重定向,类型应如下所示:


  types: [

  "main_frame",

  "xmlhttprequest"]


查看完整回答
反对 回复 2023-11-02
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信