繁体   English   中英

跨域Javascript书签

[英]Cross Domain Javascript Bookmarklet

我已经待了几天了,搜索(包括此处)还没有给我任何解决方案。

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

用户从页面上单击小书签,我需要将以下数据获取到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库。

非常感谢你,

您应该研究easyXDM ,它非常易于使用。 http://consumer.easyxdm.net/current/example/methods.html上查看示例之一

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

如果我正确理解了您的问题,那么通过使用脚本标签代理可能会取得一些成功。 这是在JavaScript框架(如jquery和extjs)中进行跨域AJAX的标准方法。

请参阅Jquery AJAX文档

如果您需要将数据传递到iframe,并且iframe实际上包含另一个页面,但是该另一个页面位于同一域中(我知道很多假设)。

然后,手册页代码可以做到这一点:

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

然后,iframe包含的页面上的代码可以执行以下操作:

window.parent.DATA_FOR_IFRAME;

获取数据:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM