【发布时间】:2008-12-17 17:13:16
【问题描述】:
有没有办法确定子页面后面的代码是由父页面的window.open() javascript命令打开的?
弹出页面包含一个用户控件,该控件由不是从 window.open() 命令生成的其他页面使用,我想动态添加功能以在用户完成任务后关闭页面子页面。
它是一个 ASP.NET C# 3.5 应用程序。
【问题讨论】:
标签: c# asp.net javascript
有没有办法确定子页面后面的代码是由父页面的window.open() javascript命令打开的?
弹出页面包含一个用户控件,该控件由不是从 window.open() 命令生成的其他页面使用,我想动态添加功能以在用户完成任务后关闭页面子页面。
它是一个 ASP.NET C# 3.5 应用程序。
【问题讨论】:
标签: c# asp.net javascript
你能在查询字符串中传递一个标志来指示窗口是从哪里生成的吗?
【讨论】:
在 javascript 中你可以检查 window.opener 是否为空
【讨论】:
对子窗口的请求可能会有一个指向父页面的 HTTP Referer (referrer) 标头。您可以在后端检查或在客户端检查window.opener。
【讨论】:
可能是错误的,但我认为没有简单直接的方法可以做到这一点。您总是可以尝试从不同的 url 中识别它,例如"MyChildForm.aspx?from=winopen"
--编辑-- 被 Galwegian 打败
【讨论】:
您可以在用户控件中添加一些 javascript 来测试 window.opener 是否为非 null 并在此基础上隐藏或显示关闭页面 UI。
【讨论】: