我需要使用 javascript 的 window.open 方法打开一个新的弹出窗口/选项卡,并且在关闭新选项卡/弹出窗口时必须将一些值从关闭窗口返回到父窗口。当我在我的 asp .net 应用程序中打开一个弹出窗口时,它应该与 iPad 兼容。当我使用 IE、Chrome、FireFox 和 Safari(在装有 Windows 7 的 PC 上)时,值已成功返回。
不幸的是,当我通过 iPad 访问应用程序时,相同的代码在 Safari 中失败。在 iPad 上,domObject 在新窗口打开时提示,而不是在新窗口关闭时提示返回值。
下面是代码。父窗口:
<script type="text/javascript">
function modalWin() {
retVal = window.open('About.aspx', 'name', 'height=255,width=250,toolbar=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no ,modal=yes');
alert(retVal);
}
</script>
//HTML
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<a title="Test New Popup" onclick="modalWin();">New Popup for all browsers.</a>.
</asp:Content>
Popup window or new tab:
<script type="text/javascript">
function closeIt(tempValue) {
window.returnValue = tempValue;
window.close();
}
</script>
//HTML:
<input id="btnButton1" value="btnButton1" type="button" onclick="closeIt('btnButton1');" />
<br />
<input id="btnButton2" value="btnButton2" type="button" onclick="closeIt('btnButton2');" />
<br />
<input id="btnButton3" value="btnButton3" type="button" onclick="closeIt('btnButton3');" />