2

我已经在这工作了好几天了,包括这里在内的搜索还没有给我任何解决方案。

我正在创建一个与 POST API 交互的 Bookmarklet。除了最重要的部分外,我已经完成了大部分工作;将数据从 iframe(我知道很糟糕!如果有人知道更好的解决方案,请告诉我)发送到我域上的 javascript(与 API 相同的域,因此与 API 的通信没有问题)。

从用户单击书签的页面中,我需要将以下数据获取到 iFrame 中包含的 javascript。

    var title = pageData[0].title;
    var address = pageData[0].address;
    var lastmodified = pageData[0].lastmodified;
    var referralurl = pageData[0].referralurl;

我首先通过将这些数据解析为 JSON 并通过 iFrame 的 name="" 属性发送它来修复它,但在大约 20% 的网页上实现了这一点。我被拒绝访问;这也不是一个非常漂亮的方法。

有谁知道我如何解决这个问题。我不希望使用重定向的 POSTS,我希望这一切都是 AJAX 并且尽可能不引人注目。还值得注意的是,我使用了 jQuery 库。

非常感谢,

4

4 回答 4

2

你应该看看easyXDM,它很容易使用。查看http://consumer.easyxdm.net/current/example/methods.html上的示例之一

于 2009-07-05T13:36:52.103 回答
1

如果我正确理解您的问题,您可能会通过研究使用 Script Tag 代理取得一些成功。这是在 jquery 和 extjs 等 javascript 框架中执行跨域 AJAX 的标准方法。

请参阅Jquery AJAX 文档

于 2009-01-06T23:01:36.063 回答
1

经过大量工作,我找到了一个使用 JSONP 的解决方案,它启用了跨域 Javascript。Codeigniter 框架非常棘手,因为沿 URL 传递数据需要大量编码并确保您没有非法字符。此外,我仍在寻找它的安全性。

于 2008-12-17T17:51:05.237 回答
0

如果您需要将数据传递给 iframe,而 iframe 实际上包含另一个页面,但另一个页面在同一个域上(我知道很多假设)。

然后手册页代码可以这样做:

DATA_FOR_IFRAME = ({'whatever': 'stuff'});

那么iframe所包含的页面上的代码就可以做到这一点:

window.parent.DATA_FOR_IFRAME;

获取数据:)

于 2008-12-17T17:22:14.280 回答