2

我现在有一个很棒的 chrome 扩展。

如果用户没有付费让图像显示在主列表中,它基本上会遍历网络拍卖网站的 HTML 列表。显示默认图像。

  • 我的插件使用 jQuery Ajax 请求来加载拍卖页面并找到主图像以显示为任何丢失图像的缩略图。效果很好。
  • 该插件找到正确的图像 url 并将 HTML Dom 更新为新图像并设置新的宽度。

问题是,拍卖网站跟踪所有页面浏览量并将其保存到网站的“最近查看”部分,“用户可以看到他们点击的任何拍卖”

ISSUE - 我的插件使用 ajax,cookie 是通过 jQuery ajax 请求发送的。我很确定我无法修改此请求中的 cookie,因此拍卖网站会跟踪该请求,并且对于任何缺少图像的列表,此列表现在显示在我的“最近查看”中,即使我实际上没有导航到它。

  1. 我可以删除 ajax 请求的 cookie(我认为我不能)
  2. chrome可以删除cookie吗(仅适用于ajax请求)
  3. 我可以让 chrome 发出请求吗(例如 curl,没有 cookie?)

只是为了好奇。这是此拍卖网站上缺少图像的页面

http://www.trademe.co.nz/Browse/SearchResults.aspx?searchType=all&searchString=toaster&type=Search&generalSearch_keypresses=9&generalSearch_suggested=0

感谢您的任何意见,约翰。

4

2 回答 2

4

您可以使用webRequestAPI 拦截和修改请求(包括空白标头)。但是,它不能用于修改在 Chrome 扩展程序的上下文中创建的请求。如果您想将此 API 用于 cookie-blanking 目的,您必须在非扩展上下文中加载页面。通过创建新选项卡,或使用屏幕外选项卡(使用实验性的 offscreenTabs API

另一种选择是使用chrome.cookieAPI,并绑定一个onChanged事件。然后,您可以拦截 cookie 修改,并使用chrome.cookies.set.

最后一个选项是在隐身模式下创建一个新的窗口+标签。此方法不可靠,不应使用:

  • 用户可以禁止访问隐身模式
  • 用户可能在隐身模式下导航到页面,导致 cookie 字段被填充。
  • 它具有破坏性:创建了一个新窗口。
于 2012-07-04T11:05:47.417 回答
0

大概这种 AJAX 交互是从内容脚本运行的?您可以从后台页面运行它并将数据传递给内容脚本吗?我相信后台页面在不同的上下文中运行,不应该发送正常的 cookie。

于 2012-07-04T10:58:10.670 回答