我有一个showMap函数,它会打开一个新窗口(window.open)。在新窗口中,我有一个iframe googlemaps和一个带按钮的输入。当用户单击按钮到函数中的函数时如何传递数据父窗口?
var popUpWindow ;
function showMap(){
popUpWindow = window.open(index)
popUpWindow.document.write( '<html><head><title>MAP</title>
</head><body>
<iframe src="https://maps.google.com/maps/embed/v1/directions?>
</iframe> <br> <input type="text" id="data>
<button type="button" onclick="opener.callParent()">
Update</button></body></html');
}
function callParent(){
var newValue = popUpWindow.document.getElementById('data').value;
console.log('newVal',newValue);
}
通过这种方式,我能够从子窗口到父窗口获取值。
答案 0 :(得分:2)
在该新弹出窗口下全局检查window.opener
答案 1 :(得分:0)
您可以使用ES6导入/导出。
为此,首先导出父级函数,然后导入并在模式中使用。
另一种方法,但很危险的一种方法是使用全局窗口范围来实现您要调用的方法。