Javascript确认,除非重定向到error.seam

Javascript确认,除非重定向到error.seam,javascript,seam,Javascript,Seam,基本上,我有一个用于编辑事件的页面,需要在移动页面时警告用户未保存的更改。如果服务器抛出错误,我将使用Seams redirect filter转到error.xhtml,但是这会弹出确认对话框,允许用户取消页面重定向并保留在已断开的编辑页面上 我可以更改下面的代码以拔出我被引导到的位置吗?我尝试了window.location,但仍然显示事件页面。有类似窗口重定向的东西吗 <script language="JavaScript" > window.onbeforeun

基本上,我有一个用于编辑事件的页面,需要在移动页面时警告用户未保存的更改。如果服务器抛出错误,我将使用Seams redirect filter转到error.xhtml,但是这会弹出确认对话框,允许用户取消页面重定向并保留在已断开的编辑页面上

我可以更改下面的代码以拔出我被引导到的位置吗?我尝试了window.location,但仍然显示事件页面。有类似窗口重定向的东西吗

<script language="JavaScript" >  
    window.onbeforeunload = confirmExit;
    function confirmExit(){
         if(isEventModified()){return "The Event has unsaved changes!";}
    }
</script>  

window.onbeforeunload=确认退出;
函数confirmExit(){
如果(isEventModified()){返回“事件有未保存的更改!”;}
}

您通常会设置一个全局标志,如

warn_on_exit = true;
如果该标志为true,则返回警告字符串,从而弹出确认消息。如果为false,则返回null


然后,您的错误页面必须发出一些JavaScript,将标志设置为
false

您通常会设置一个全局标志,如

warn_on_exit = true;
如果该标志为true,则返回警告字符串,从而弹出确认消息。如果为false,则返回null


然后,你的错误页面将不得不发出一些JavaScript,将标志设置为
false

嗯,是的,我想我可以这样做,只是需要大量的锅炉板代码。事实上,我认为我做不到这一点。每当抛出异常时,都会在Seam内部重定向到错误页面,我无法从那里更改javascript变量。窗口事件是onbeforeunload,在页面卸载之前一定要设置重定向吗?或者这是我们无法访问的东西?那么你必须反过来做——当你的页面成功加载时,明确设置“请求确认”标志。嗯,是的,我想我可以这样做,只是有很多锅炉板代码。实际上我想我做不到。每当抛出异常时,都会在Seam内部重定向到错误页面,我无法从那里更改javascript变量。窗口事件是onbeforeunload,在页面卸载之前一定要设置重定向吗?或者这是我们无法访问的内容?那么你必须反过来做——当你的页面成功加载时,明确设置“请求确认”标志。