如何将对象数据传递给window.open()

时间:2017-12-05 20:31:09

标签: javascript

无论如何都要将JavaScript对象传递给window.open()而不使用URL中的对象。我知道我可以在将URL加载到div中时执行此操作:

$("#myDiv").load(urlForWindow, { data: data });

但有没有办法可以为窗户做到这一点:

var win = window.open(urlForWindow, '_blank', { data: data });

2 个答案:

答案 0 :(得分:0)

好的,我意识到,为什么要这样做更难。只需使用ajax post to an api.

答案 1 :(得分:0)

 function openWithData(url, data){
   window.open(url, "page");
   const ping = setInterval(() => {
      window.postMessage(data, "*");
   }, 100);

  window.addEventListener("message", ({data}) => {
     if(data === "received") clearInterval(ping);
  });
}

在加载的页面上:

 window.addEventListener("message", ({data}) => {
   window.postMessage("received","*");
   //Do whatever with data
});