Javascript 带有返回值的跨域弹出窗口

Javascript 带有返回值的跨域弹出窗口,javascript,html,popup,cross-domain,Javascript,Html,Popup,Cross Domain,这是设置: 我在两个不同的域上有两个网站: www.website1.com www.someotherwebsite.com 这就是我想做的: 当用户在www.website1.com上单击链接时,我希望弹出一个窗口,显示www.someotherwebsite.com 当用户单击弹出窗口中的按钮(显示www.someotherwebsite.com)时,我希望该窗口关闭并返回一个值 我希望将弹出窗口返回的值放在www.website1.com上(放在div中,或javascript调用中

这是设置:

我在两个不同的域上有两个网站:

  • www.website1.com
  • www.someotherwebsite.com
这就是我想做的:

  • 当用户在
    www.website1.com
    上单击链接时,我希望弹出一个窗口,显示
    www.someotherwebsite.com

  • 当用户单击弹出窗口中的按钮(显示
    www.someotherwebsite.com
    )时,我希望该窗口关闭并返回一个值

  • 我希望将弹出窗口返回的值放在
    www.website1.com
    上(放在div中,或javascript调用中,或可以访问的地方,如填写表单字段)

  • 我希望这是有道理的。我只需要使用HTML和Javascript而不需要外部库。它还必须在当前主流浏览器上工作(也就是说,不是HTML5)


    提前感谢您的帮助。

    如果您在弹出窗口中使用iframe[在这个时代,由于弹出窗口拦截器,我会避免像瘟疫一样弹出窗口]

    使用iframe,您可以制作


    为什么不从a到B开发一个Web服务并从a调用它呢?看起来比在浏览器中找到小裂缝来规避安全性要干净得多

    您可以将弹出窗口中的值从www.someotherwebsite.com发回www.website1.com上的特殊页面。现在您回到了原始域,该页面获取GET值并将其写入一些JavaScript。然后JavaScript使用opener.document.getElementById更新opener窗口中的某个位置的值,或者使用类似opener.document.doSomething(val)的内容调用opener中的函数;它处理响应


    它充满了潜在的错误(如果用户打开了两个窗口副本,或者关闭了原始站点怎么办?)和潜在的安全漏洞,如果你试图对不存在的窗口或在不同域中的窗口执行操作,浏览器会有很坏的反应,但在已知的环境中,它应该可以工作。

    +1用于代理web服务推荐。似乎很适合,除非B需要用户提供大量的交互。谢谢!这为我指明了正确的方向。我最终做的是:1)网站A创建一个指向网站B www.B.com/iframe的iframe 2)网站B在iframe中弹出一个窗口,也在网站B www.B.com/control上3)控件做任何它想要的处理。当用户单击关闭按钮时,Javascript用于将结果推回到www.b.com/iframe页面4)www.b.com/iframe修改父页面的哈希以将结果传递回那里5)父页面对结果引用执行它将执行的操作: