【问题标题】:How to get child window url into parentwindow in react.JS?reactjs - 如何在react.JS中将子窗口url放入父窗口?
【发布时间】:2020-05-17 05:03:45
【问题描述】:

我在 reactjs 中有一个代码。我要在我的子组件中打开另一个 url

 twitterPopup = () => {
    var currentChild = false;
    if (currentChild) child.close();

    child = window.open(
      "http://10.10.1.1:9090/api/v1/twitter/login",
      "",
      "location=0,toolbar=0,status=0,width=626,height=436"
    );
    this.props.twitterEvent(true);
    timer = setInterval(this.checkChild, 500);
    currentChild = true;
  };

  checkChild = () => {
    if (child.closed) {
      alert("window closed");
      clearInterval(timer);
    }
  };

如果我重定向我的网址(例如http://localhost:3000?data=234234234432) 我签入了使用data 检测到的网址(window.close())。 在我的checkChild 函数中,得到了警报字段。

求助,如何获取父窗口中的数据

【问题讨论】:

  • 你想获取什么数据?当我在这里做的时候,我得到了关闭事件:jsfiddle.net/maniator/5av8740L
  • @NaftaliakaNeal。我收到了一条警告信息。如何从子窗口获取 url?
  • 我不确定你可以
  • 有什么办法解决吗? @NaftaliakaNeal
  • 我不知道。还有你必须处理的跨源请求(无法读取来自不同源域的窗口)

标签: javascript node.js reactjs ecmascript-6


【解决方案1】:

由于浏览器的安全限制,在没有其他站点的公司的情况下,无法从第三方子窗口获取数据。

如果您拥有这两个网站,则可以使用 PostMessage API 或 CORS 解决此问题。

【讨论】:

  • 没有@DavidBradshaw。在我的子窗口中,授权后。我重定向到我的网站。在我的子窗口中,我的 url 与父窗口中的相同。但在子窗口中,我在 url 中有两个查询。我需要该查询值到我的父窗口中。这就是我要问的
  • 在这种情况下,您需要使用 postMessage API 将数据从子节点发送到父节点
  • 嘿@David Bradshaw。我解决了这个问题。我只是在我的 cookie 中设置了 url 并在父窗口中使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多