确定window.open()命令是否打开了aspx页面

时间:2008-12-17 17:13:17

标签: c# asp.net javascript

有没有办法在子页面中确定后面的代码是由父页面的window.open()javascript命令打开的?

弹出页面包含一个用户控件,该控件由未通过window.open()命令生成的其他页面使用,我想在用户完成任务后动态添加关闭页面的功能子页面。

这是一个ASP.NET C#3.5应用程序。

5 个答案:

答案 0 :(得分:5)

你可以通过查询字符串中的标志来指示窗口的生成位置吗?

答案 1 :(得分:3)

在javascript中你可以检查window.opener是否为null

答案 2 :(得分:1)

对子窗口的请求可能会有一个指向父页面的HTTP Referer(引用者)标头。您可以在后端检查,或在客户端检查window.opener

答案 3 :(得分:0)

可能是错的,但我认为没有简单的直接方法可以做到这一点。您可以随时尝试从不同的网址中识别它,例如“MyChildForm.aspx?从= winopen”

- 编辑 - 被Galwegian击败

答案 4 :(得分:0)

您可以在usercontrol中添加一些javascript来测试window.opener是否为非null,并在此基础上隐藏或显示关闭页面UI。