繁体   English   中英

将数据发送到单独的窗口javascript

[英]Send data to separate window javascript

我使用以下命令从现有页面创建了一个新的弹出窗口:

window.open("myUrl","myName","width=200,height=200");

现在在弹出窗口中我有一个文本输入和一个按钮,我想为按钮创建一个onclick方法,该方法将文本输入值发送到创建弹出窗口的页面而不使用表单或php,这可能吗?

你可以使用window.opener关键字

假设你的父类中有一个javascript方法doSomething(value){....},那么你可以从你的POPUP调用父函数

window.opener.doSomething("here is my data from child sent to parent");

更新

假设父窗口和新窗口都在同一个域上,您应该能够直接操作他们的JS环境:

var w = window.open("myUrl", "myName", "width=200,height=200");
var e = w.document.getElementById('someId');
// do something with element e

如果它们位于不同的域中,则可能需要使用window.postMessage或其他跨域消息传递技术,如果目标浏览器不支持window.postMessage。

任何打开的窗口调用都会形成对新窗口的get请求。 这是一种非常简单的方法,您可以使用URL本身传递要发送的参数,例如,

var myUrl = "http://example.com/test?myName=" + myName;
window.open(myUrl,"windowName","width=200,height=200");

现在,您可以在页面上获取myName作为请求参数。 请试试这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM