2

我试图从我的 child.jsp 到我的 parent.jsp 使用 window.opener.document.getElementById("parentId1").value = myvalue;

即使在控制台中没有发现错误,该值也没有进入父页面。

子弹出窗口的 url 开头类似, https://safe.cresecure.net/securepayments.....父页面url开头 与http://....安全子窗口和不安全的父页面通信是否有任何问题?

如果是这样,我该如何解决这个问题?

4

1 回答 1

3

与安全的子窗口和不安全的父页面通信是否有任何问题?

是的。HTTP 和 HTTPS 用于不同的脚本来源。(如果它们不是单独的来源,那么不受保护的页面可能会编写成 HTTPS 页面并更改其所有内容,从而违背 HTTPS 的目的。)

如果是这样,我该如何解决这个问题?

  1. 同出处。通过 HTTPS 提供父页面,并将它们放在相同的主机名上或document.domain在两个文档上设置为共享的父域。

  2. 跨域消息传递。window.postMessage; 如果您需要支持较旧的浏览器(主要是 IE<8),则存在可怕的向后兼容性黑客(例如通过document.cookie或哈希导航进行通信)。

  3. 服务器交互。一个文档将信息发送到服务器,然后服务器将其与另一个文档共享(例如,使用 XMLHttpRequest)。

于 2013-08-21T10:02:03.747 回答