1

我正在尝试创建一个小书签,它需要访问服务器(使用 POST)来获取一些数据。访问该数据需要我登录,这通过使用 cookie 进行跟踪。问题是,我的小书签正在某个随机网站的上下文中运行,因此它无法访问属于我要访问的站点的 cookie,实际上它甚至不发送属于该站点的 cookie网站。

我已经看到一些提示表明我正在尝试做的事情是可能的,但是对于如何实现这一点还不清楚。例如,在这个问题,接受的答案包括这个花絮:“这些类型的书签通常会为用户打开一个小弹出窗口,其中包含来自应用程序的页面”但我不明白这将如何完成我想要做的事情。我认为这与页面本身位于正确的域中并因此可以发送所需的 cookie 的事实有关,但我不确定如何将数据放入页面以告诉它我想要什么(我想我可以做一些我在 URL 参数中对请求进行编码的事情,但这会出现在 http 日志中,这是不可取的),但更重要的是,我不确定如何从窗口取回数据 - 每当我尝试我得到一个异常“访问属性'文档'的权限被拒绝”(或我尝试访问的任何内容)。

4

1 回答 1

1

你问了几个问题。

1.) 如何从属于被访问站点的书签 XMLHttpRequest 发送 cookie?

XMLHttpRequest 将发送属于您正在调用的域的 cookie。如果你想跨域,你必须启用 CORS:http ://enable-cors.org/

2.)“这些类型的书签通常会为用户打开一个小弹出窗口,其中包含来自应用程序的页面”

这与制作 XMLHttpRequest 无关。数据通过 GET 进入弹出窗口。您甚至可以通过 POST 执行此操作,但它稍微复杂一些。只需搜索“发布到弹出窗口”或“发布到 iframe”。

3.) 我不确定如何从窗口取回数据

如果另一个窗口/iframe 包含来自不同域的页面,请使用 postMessage:https ://developer.mozilla.org/en-US/docs/Web/API/window.postMessage - 这实际上可以双向进行实际上可以用于在没有 CORS 的情况下启用复杂的跨域通信。

于 2013-08-23T02:09:49.197 回答