[英]JavaScript issue in IE with window.opener
我正在尝试使用以下JavaScript来检查弹出页面是否仍处于打开状态。
父页面(打开弹出窗口的调用页面)已打开,但是此代码继续失败。 我是从在另一个母版页中具有母版页的aspx弹出页面调用它的。 因此,最终调用该脚本的click事件是位于内容占位符中Gridview中的“编辑链接”,该占位符位于母版页的最上方内容占位符中,不确定是否与此有关。 脚本将触发,但它不会将父页面视为打开且未关闭。
if (window.opener != null && !window.opener.closed) {
alert(window.opener);
var val = window.opener.parentFunc(a);
alert(a);
}
这是仅IE的问题,Firefox可以识别window.opener
页面。 尝试使用多个版本的IE都存在问题,但是Firefox和Opera可以正常工作。
我实际上使用了此警报声明。
alert(window.opener);
在IE中返回未定义。
在Firefox中返回了ObjectWindow。
function getParentWindow(){
var father = window.opener;
if(father == undefined) {
father=window.dialogArguments
}
return father;
}
我相信这是IE中的安全限制。 看一下这个线程,看看它是否可以解决您的问题:
我是这样通过从VB.net发送脚本来工作的。
Dim BrowserSettings As String = "status=no,toolbar=no, scrollbars =yes,menubar=no,location=no,resizable=no," & "titlebar=no, addressbar=no, width=650 ,height=800"
Dim URL As String = "testNewPage.aspx"
Dim scriptText1 As String = ("<script>javascript: var w = window.open('" & URL & "','_blank','" & BrowserSettings & "'); </script>")
ScriptManager.RegisterStartupScript(Me, GetType(Page), "ClientScript1", scriptText1, False)here
这并不是我想要的,但是似乎可以正常工作,只是现在弹出页面不在最上面。 需要弄清楚那部分。
我一直在尝试集中精力,似乎没有用。 另外,尝试了一个有模态的弹出窗口,该弹出窗口可以工作,但随后我丢失了对打开的窗口的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.