我的要求是当我点击下载文件时,会打开新标签.如果该文件存在,它将开始下载,如果不存在,它应该关闭新选项卡并显示错误消息.
我用过
window.close()
Run Code Online (Sandbox Code Playgroud)
它工作正常.除此之外,IE11要求确认:
"您正在查看的网页正在尝试关闭该标签.您要关闭此标签吗?"
这会中断系统的功能,用户不知道它为什么会发生.
对此有何解决方案?
我已经说明了整个场景,以便您可以为任何阶段提供解决方案.
谢谢.
internet-explorer download window-object window.closed internet-explorer-11
我在 Aspx 页面上有一个项目列表,为了编辑每个项目,我启动了 SP.UI.ModalDialog 弹出窗口来执行此操作,在此弹出窗口中创建一个提交按钮以保存更改,然后关闭弹出窗口:
protected void Submit_onclick(Object sender, EventArgs e)
{
SPSecurity.RunWithElevatedPrivileges(delegate
{
try
{
using (SPSite mySite = new SPSite(PGContext.Site.ID))
{
using (SPWeb myweb = mySite.OpenWeb(PGContext.Web.ID))
{
myweb.AllowUnsafeUpdates = true;
//changes
myweb.AllowUnsafeUpdates = false;
Page.ClientScript.RegisterStartupScript(this.GetType(), "closeWindow", "window.close()", true);}
}
}
catch (Exception exp)
{
throw new Exception("ERROR: Unable to Save Changes : " + exp.Message.ToString(), exp);
}
});
}
Run Code Online (Sandbox Code Playgroud)
但 Page.ClientScript.RegisterStartupScript() 似乎不起作用!我在 msdn 上查看过它,它说我只能在 Page_Load() 功能上使用它,那么如何从事件中的代码中关闭我的弹出窗口?
我找到了这个代码,并一直使用它来自动关闭窗口......它在Chrome中完美运行,
我怎么能在Firefox中这样做?或者有更好的方法来关闭当前窗口吗?