Javascript 确认IE模态对话框关闭是否有效
我刚刚使用.NET3.5编写了一个Word文档创建web应用程序,它使用SQL后端的XML和XSL-T样式表将Word XML文档作为模板转换为字母,供用户发送给客户端。一切都很顺利,我对结果感到满意,xslcompiledtransform即使使用臃肿的word xml文档也非常快速:0)。我唯一的问题是,这个应用程序是从旧的.NET 1.1应用程序在模式IE对话框中启动的,客户端希望在关闭模式对话框之前有条件地提示用户 用户调用生成过程后,将触发部分回发事件,并在更新面板的列表视图中显示文档列表,当他们单击文档名称时,文档将被提供给他们,IE显示下载对话框,另一部分回发将用绿色勾号更新listview,以指示用户已请求该文档 客户端请求,如果用户试图在请求所有文档之前关闭对话框,则会提示用户确认选项OK和Cancel。我通过表单上的实际“close”(关闭)按钮实现了这一罚款,该按钮会显示一个符合要求的弹出窗口,如果用户单击OK(确定),则会通过javascript攻击关闭窗口。如果用户决定单击标准窗口x按钮,则会出现问题。我设法使用IE方法,将onunload事件添加到正文中,并返回一个带有自定义消息的字符串,就像Microsoft CRM使用的那样,但出于几个原因,这一方法并不理想 首先,它非常难看,我不喜欢这个功能附带的标准的不可控附加消息。我还有一个主要的问题,就是每一篇部分回复都会导致这种情况,这是可以理解的,但非常烦人,即使没有生成任何文档,或者这些文档已经生成,并且所有文档都已被请求 所以最后我的问题是:我能不能用我自己的包含简单逻辑的函数(可能是Iframe之类的函数)使用标准的javascript confirm,在onunload中骗IE取消闭包?或者在标准IE弹出窗口出现时添加一些逻辑 我知道这是一个标准的功能,它的存在是出于一个良好的安全原因,但这是客户真正想要的,这不是一个面向公众的网站,它只在公司内部使用 事先非常感谢,对华夫饼干表示歉意,但我只是想确保尽可能多地提供细节,因为我对最初的问题“为什么?”Javascript 确认IE模态对话框关闭是否有效,javascript,asp.net,internet-explorer,Javascript,Asp.net,Internet Explorer,我刚刚使用.NET3.5编写了一个Word文档创建web应用程序,它使用SQL后端的XML和XSL-T样式表将Word XML文档作为模板转换为字母,供用户发送给客户端。一切都很顺利,我对结果感到满意,xslcompiledtransform即使使用臃肿的word xml文档也非常快速:0)。我唯一的问题是,这个应用程序是从旧的.NET 1.1应用程序在模式IE对话框中启动的,客户端希望在关闭模式对话框之前有条件地提示用户 用户调用生成过程后,将触发部分回发事件,并在更新面板的列表视图中显示文档
保罗随着发布的临近,没有人准备筛选我的华夫饼干,我选择了标准的IE OnForeUnload事件。在我的js中,我有:
window.onbeforeunload = PromptUserToClose
function PromptUserToClose()
if(!allDownloaded){
return "Are you sure....."
}
但问题是,我的更新面板中有链接按钮,这些按钮导致部分Post Back,IE出于某种原因认为这是卸载窗口,因此为了避开它,我将它们更改为asp:Hyperlinks,然后使用Page.ClientScript.GetPostBackEventReference(Me,“MyCustomArgument”)
。这就完成了任务
谢谢
保罗