C# 关闭IE';弹出窗口';带脚本的窗口

C# 关闭IE';弹出窗口';带脚本的窗口,c#,asp.net,internet-explorer,asp.net-ajax,C#,Asp.net,Internet Explorer,Asp.net Ajax,是否可以禁用“您正在查看的网页正在尝试关闭窗口。是否要关闭它?” 我知道这是多年来病毒和恶意脚本活动的产物,但在合法的应用程序代码(ASP.NET)中,是否有任何方法可以将您的应用程序“注册”为应用程序,或将标志传递到IE弹出窗口,以便它在关闭时不会显示此内容 我正在使用的代码是从C#代码隐藏中完成的: ClientScript.RegisterClientScriptBlock(GetType(), "save", Utils.MakeScriptBlock("window.close();"

是否可以禁用“您正在查看的网页正在尝试关闭窗口。是否要关闭它?”

我知道这是多年来病毒和恶意脚本活动的产物,但在合法的应用程序代码(ASP.NET)中,是否有任何方法可以将您的应用程序“注册”为应用程序,或将标志传递到IE弹出窗口,以便它在关闭时不会显示此内容

我正在使用的代码是从C#代码隐藏中完成的:

ClientScript.RegisterClientScriptBlock(GetType(), "save", Utils.MakeScriptBlock("window.close();")); 
Utils.MakeScriptBlock只是一个实现您可能期望的功能的函数。它“注入”一个带有代码的标记

这可能是不可能的,否则,所有的脚本小子都会使用这个技巧,但我想我会问,因为我不是唯一一个使用简单的IE“弹出窗口”作为(伪)模态对话框的人

这段代码发生在我的ButtonSave_Click()例程中,在所有内容都通过验证之后,等等

**编辑***
以下是单击“添加”按钮时打开弹出窗口的代码,仅供参考: 这在页面_Init()中。。。


我相信没有。如您所述,以帮助防止恶意软件


最终,浏览器不知道你不是邪恶的。有关类似的想法,请参见RFC 3514。

我认为没有。如您所述,以帮助防止恶意软件


最终,浏览器不知道你不是邪恶的。有关类似的想法,请参见RFC 3514。

如果您的脚本打开了该窗口,则可以关闭该窗口而无需弹出窗口。这有用吗

编辑: 您已经用脚本打开了窗口。将客户端脚本更改为调用self.close()


如果窗口是由脚本打开的,则可以在不弹出窗口的情况下关闭该窗口。这有用吗

编辑: 您已经用脚本打开了窗口。将客户端脚本更改为调用self.close()


我非常怀疑这在你这方面是可能的-听起来像是用户必须在他们的IE设置中特别禁用的东西。

我非常怀疑这在你这方面是可能的-听起来像是用户必须在他们的IE设置中特别禁用的东西。

如果用户打开浏览器窗口,你不能关闭它;但如果窗口是通过脚本打开的,则可以。听起来你只需要一个初始页面,用户从一个“点击这里开始”链接开始,从中你可以打开一个新的窗口来显示网站的主要部分;完成所有操作后,关闭弹出窗口,并在其初始浏览器窗口中留下“单击此处开始”消息。

如果用户打开浏览器窗口,则无法关闭它;但如果窗口是通过脚本打开的,则可以。听起来你只需要一个初始页面,用户从一个“点击这里开始”链接开始,从中你可以打开一个新的窗口来显示网站的主要部分;当他们全部完成后,关闭弹出窗口,他们的初始浏览器窗口将显示“单击此处开始”消息。

奇怪,但我发现

<script type="text/javascript">
function closeWindow()
{
    window.close();
    return false;
}
</script>

通常都能解决这个问题。

奇怪,但我发现

<script type="text/javascript">
function closeWindow()
{
    window.close();
    return false;
}
</script>

通常可以绕过这个问题。

你是说打开一个窗口,打开弹出窗口,然后关闭第一个窗口,而不是弹出窗口?如果是这样,我不确定我是否遵循……你的意思是打开一个打开弹出窗口的窗口,然后关闭第一个窗口,而不是弹出窗口?如果是这样的话,我不确定我是否遵循。。。
<script type="text/javascript">
function closeWindow()
{
    window.close();
    return false;
}
</script>
return closeWindow();