firefox - Firefox 中的 chrome.webRequest.onHeadersReceived.addListener

标签 firefox firefox-addon add-on

我正在为 Firefox 做一个扩展,我会接收对 URL 的调用,因为当运行对 URL 的调用时,我可以捕获 Firefox 中的 http 请求。

例如在 google chrome 中的事件:chrome.webRequest.onHeadersReceived.addListener (

最佳答案

使用普通的XMLHttpRequest,当从某些chrome特权(系统主体)位置运行时,允许访问所有资源而不遵守同源策略,就像SDK 请求一样 模块不遵守它。

  • SDK:在 lib/模块中通过

    获取
    const {XMLHttpRequest} = require("sdk/net/xhr");
  • XUL 覆盖/窗口、ChromeWorker:已经有一个全局 XMLHttpRequest 构造函数。

  • JS代码模块等:
    Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].
      createInstance(Components.interfaces.nsIXMLHttpRequest);

从那里您可以使用onreadystatechange来查找HEADERS_RECEIVED.readyState。请参阅XMLHttpRequest docs .

要让 Cookie 为具有拒绝第三方 Cookie 的用户工作,您需要使用 forceAllowThirdPartyCookie在 SDK 或其他方式中:

if (xhr_instance.channel instanceof Components.interfaces.nsIHttpChannelInternal)
  xhr_instance.channel.forceAllowThirdPartyCookie = true;

关于firefox - Firefox 中的 chrome.webRequest.onHeadersReceived.addListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936249/

相关文章:

sockets - 带套接字的 Google 语音 API v2

javascript - 当用户删除离线数据时保留 Firefox 附加组件 localStorage

html - 如何找出IE中的页面下载时间/大小?

java - SAP Hybris 辅助服务模块 (ASM) - 无法生成组件

css - 条件注释 "gt ie 7"破坏了 chrome 和 firefox

javascript - FireFox - 将事件附加到动态添加的功能?

javascript - 使用 Firefox 扩展显示 'Hello World'

javascript - Firefox 扩展错误 - 值未实现接口(interface) WindowProxy 接口(interface)

javascript - 在 Chrome 扩展程序中将文本复制到剪贴板

html - 为什么我的任何srcset属性都不起作用?跨浏览器的结果也不一致