如何恢复窗口,而不是打开一个新的窗口,如果它有相同的url(仍然从上一个打开)
How to restore the window instead of open a new one if it has the same url(and still opened from the last one )?
我使用下面的类来弹出一个特定的窗口,但我想问如何使用同一个类,如果用户单击一个按钮并弹出具有特定URL的窗口,然后再次单击具有相同URL的按钮,我不想打开新窗口,只要仍然打开相同的窗口。
public static void Redirect(string url, string target, string windowFeatures)
{
HttpContext context = HttpContext.Current;
if ((String.IsNullOrEmpty(target) ||
target.Equals("_self", StringComparison.OrdinalIgnoreCase)) &&
String.IsNullOrEmpty(windowFeatures))
{
context.Response.Redirect(url);
}
else
{
Page page = (Page)context.Handler;
if (page == null)
{
throw new InvalidOperationException("Cannot redirect to new window outside Page context.");
}
url = page.ResolveClientUrl(url);
string script;
if (!String.IsNullOrEmpty(windowFeatures))
{
script = @"window.open(""{0}"", ""{1}"", ""{2}"");";
}
else
{
script = @"window.open(""{0}"", ""{1}"");";
}
script = String.Format(script, url, target, windowFeatures);
ScriptManager.RegisterStartupScript(page, typeof(Page), "Redirect", script, true);
}
}
window.open
方法的第二个参数是目标窗口的名称。如果两个调用都使用相同的值,则第二个调用会将其页面加载到先前打开的窗口中。
window.open('./a.html', 'popup', ...);
window.open('./b.html', 'popup', ...);
只有一个窗口加载了页面b.html
。
相关文章:
- 如果弹出窗口关闭,Javascript停止/重置计时器
- notify.js没有'如果另一个窗口被聚焦,则不显示通知
- 如果用户不关闭弹出窗口'没有提供任何回应
- 如果窗口宽度小于像素,则停止函数
- 如果通过字符串变量发送,HTML内部的子窗口将显示为文本
- 检测打开新选项卡/窗口的原始选项卡(如果有)
- 如果类名和窗口位置匹配,请执行一些操作
- 如果在外部单击,则隐藏弹出窗口.为什么我的脚本没有'不起作用
- 如果用户已关闭,则不显示窗口
- 如果未提交表单,则在卸载之前运行窗口功能
- 如果用户调整窗口大小/窗口未最大化,是否可以隐藏网页上的图像
- 隐藏 DIV,如果窗口窄于 DIV,则替换为 DIV
- 在新窗口中打开链接,或者聚焦到它(如果已经打开)
- 如果窗口宽度小于 600,则单击下拉列表
- 如果用户未登录,则弹出 Rails jQuery 弹出窗口
- 提交时,X 秒后,如果窗口模糊
- 如果元素变得比窗口宽,则在 DIV 中居中元素而不切断左侧内容
- 如果我有特定选项卡的 tabId,如何获取该选项卡的窗口对象
- 在 Javascript 中,如果作为子窗口调用,则使用 focus() 设置的文本区域不起作用
- 当使用jquery选中复选框时,是否可以打开弹出窗口?如果是,如何