Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何判断我的页面是否是使用Window.Open()打开的_Javascript_C#_Asp.net - Fatal编程技术网

Javascript 如何判断我的页面是否是使用Window.Open()打开的

Javascript 如何判断我的页面是否是使用Window.Open()打开的,javascript,c#,asp.net,Javascript,C#,Asp.net,我有一个EventDetails.aspx页面,其中包含一个事件的详细信息,我的用户可以使用我的timeline.aspx页面中的Window.Open()打开该事件。在EventDetails.aspx页面上,我有一个按钮,允许我使用以下代码关闭窗口: protected void CloseWindow_Click(object sender, EventArgs eventArgs) { Response.Write("<script language='javascript

我有一个EventDetails.aspx页面,其中包含一个事件的详细信息,我的用户可以使用我的timeline.aspx页面中的Window.Open()打开该事件。在EventDetails.aspx页面上,我有一个按钮,允许我使用以下代码关闭窗口:

protected void CloseWindow_Click(object sender, EventArgs eventArgs)
{
    Response.Write("<script language='javascript'>window.open('','_self');window.close();</script>");
}
protectedvoid CloseWindow\u单击(对象发送方,事件args事件args)
{
响应。写入(“window.open”(“”,“'u self”);window.close();”;
}
当我从timeline.aspx页面使用window.open()打开窗口时,“关闭窗口”按钮工作正常,但是如果我独立导航到EventDetails.aspx页面,我将无法使用“关闭窗口”按钮-什么都不会发生


是否有一种方法可以确定用户是否已使用Window.Open()进行导航,以便更改按钮的可见性,或者更好的方法是,是否有另一种方法可以关闭不依赖于使用Window.Open()的选项卡?

您可以将数据传递到打开的窗口,以便在打开的窗口中,您可以在js中签入该数据,并且可以根据传递的数据隐藏或显示按钮

// Store the return of the `open` command in a variable
var newWindow = window.open('example.com','_self');

// Access it using its variable
newWindow.my_special_setting = "Hello World";
在打开的窗口中,您可以检查如下代码所示的数据

window.my_special_setting
添加了一个Jquery小提琴,以确认它将与“\u self”一起工作

单击该按钮可打开一个新的浏览器窗口

试试看 窗口打开(“http://www.w3schools.com","你自己",;
当您使用
窗口打开时,可以在查询字符串中传递参数。打开
。如果在加载EventDetails页面时找到它,您就知道它是以这种方式打开的。请检查
窗口的值。opener
它将包含对打开您的事件的窗口的引用popup@ConnorsFan我可能会这样做,但我想我也会遇到类似的问题,例如,如果用户在使用Window.Open()打开页面后将url添加到书签中然后稍后尝试返回包含查询字符串的url。为了防止查询字符串参数仍然是您的一个选项(dman2306的建议可能更好),您可以将参数设置为某个时间值(例如,现在+10秒,单位为tick number)。检查该值将告诉您在页面加载时它是否相关。@WashingtongUses我们可以将其作为第二个参数添加到windows。打开更新code@WashingtonGuedes让我确认一下it@WashingtonGuedes我认为这应该有用,在回答这个问题时加上一把小提琴,这对你自己是有用的