在firefox扩展上观察并保存http请求
Observe and save http-request on firefox extension
我正在创建一个简单的插件来捕获http请求并将有关它的信息保存到文件中。保存模块工作,捕获模块也工作。属于每个窗口的所有http请求都保存到单独的文件中。例如,从窗口1的任何选项卡保存到文件1.txt的所有http请求,从窗口2保存到文件2.txt等。但现在我有问题,因为从窗口2,3请求。。。还保存到以前的文件。我的意思是:
- 来自window1的所有http请求都保存到1.txt(没关系)
- 窗口2中的所有http请求都保存到1.txt和2.txt
- 来自窗口3的所有http请求都保存到1.txt、2.txt和3.txt
我使用observer,但在测试中,我使用eventListener进行点击,任何它都能完美工作。从窗口x点击只为文件x保存。知道吗,可能出了什么问题?
观察者是全局的,而不是每个窗口。当您从覆盖脚本中注册它们时,每个窗口都会得到一个观察者,并且这些观察者中的每一个都会收到所有http连接的通知,无论请求来自哪个窗口(记住:观察者是全局的)。哦,每个观察者还将收到每个没有任何关联窗口的请求的通知(例如,安全浏览请求刷新、其他组件、其他加载项从其代码模块进行请求)。
您应该执行以下操作:
- 重写代码,使整个应用程序只注册一个观察者。最简单的方法是在代码模块中实现它
- 让观察者找出DOMWindow(如果有的话)、顶级窗口(如果有的),并将其映射到特定文件。我已经在另一个答案中给出了一些代码,将请求映射到DOMWindow和http观察器中的顶级窗口
- 如何将请求映射到窗口和文件最终取决于您。您可以用代码模块注册每个顶级窗口,然后您的代码模块将为每个窗口生成一个id/文件名,然后在
observe
中使用该信息将请求窗口映射到id和文件
相关文章:
- Meteor如何接收HTTP请求
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- Firefox插件:保存到文本文件的HTTP日志,其中包含时间、用户名、计算机名;t创建文本文件
- 在firefox扩展上观察并保存http请求
- React Native 将 http 图像保存到 Android 相机胶卷
- 如何在Javascript(Google Drive API)中保存HTTP请求中的URI
- AngularJS$http.post成功,但没有't保存数据
- 从视图中调用MVC控制器中的HTTP POST方法'数据库保存
- 可以't将http结果保存到作用域
- Node.js -使用http.get循环遍历要保存在本地的JSON文件列表
- HTTP头使浏览器显示"save as"对话框并保存文件
- 可接受将要求(fs/http/等)保存在子模块的全局命名空间中
- nodejs如何在http服务器中保存响应
- 将javascript http响应保存到变量时遇到问题
- 主干模型被保存,但向HTTP发送一个空数组