【问题标题】:window.opener.document.getElementById("parentId1").value = myvalue not workingwindow.opener.document.getElementById("parentId1").value = myvalue 不工作
【发布时间】:2013-08-23 11:19:42
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript security http https


    【解决方案1】:

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

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

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

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

    2. 跨域消息传递。 window.postMessage;如果你需要支持 older browsers(主要是 IEdocument.cookie 或哈希导航进行通信)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 2019-06-09
      • 2016-08-04
      相关资源
      最近更新 更多