【问题标题】:on page unload,i want to stop navigation and when i complete my work on dialog then it should nevigate在页面卸载时,我想停止导航,当我完成对话框上的工作时,它应该导航
【发布时间】:2016-01-20 02:37:06
【问题描述】:

它正在显示对话,并且在第二个对话被隐藏之后。它导航到另一个页面。

我想停止导航,当我完成我的对话工作时。按确定(按钮)然后继续导航。

我在页面中写 jquery

$(window).bind('beforeunload',function(){    
    var continued=document.getElementById("Form:testID1").value;
    if(continued==="true"){
        PF('dialogwidgetvar').show();
    }
}); 

//我试过这个作为建议

  function f(){
             var continued=document.getElementById("Form:testID").value;
             if(continued==="true"){
                 PF('dialogWidgetVar').show();
             }
        }
 window.addEventListener('beforeunload', f(), true);

【问题讨论】:

  • 如果“你的工作”没有完成并且用户关闭了他的电脑会发生什么?!要回答问题,没有办法使用任何相关方法来处理所有可能的情况,例如小行星撞击用户的房屋
  • 从技术上讲,您无法“阻止” beforeunload。在网上找。原因:阻止页面/站点捕获您的浏览器并阻止您离开。这与 jsf/primefaces 完全无关
  • 我知道,但我想问有什么其他方法可以阻止导航一段时间。@A.Wolff
  • 我们可以在页面卸载之后显示对话框吗? @Kukeltje
  • 您无法阻止导航...并且确保您可以在新页面上加载对话框...如果用户导航到该新页面...

标签: javascript jquery jsf-2 primefaces


【解决方案1】:

您需要做的是挂钩到 window.onbeforeunload 并从那里返回一条消息。从该函数(事件处理程序)返回的字符串显示在提示符(消息框)中。请查看以下内容以了解此活动的更多详细信息https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

这是一个工作示例 http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onbeforeunload

<!DOCTYPE html>
<html>
<body onbeforeunload="return myFunction()">

<p>Close this window, press F5 or click on the link below to invoke the onbeforeunload event.</p>

<a href="http://www.w3schools.com">Click here to go to w3schools.com</a>

<script>
function myFunction() {
    return "Write something clever here...";
}
</script>

</body>
</html>

【讨论】:

  • 能否把示例代码贴出来,让我们看看。尝试发布您的 javascript 示例
  • Stackoverflow 上有很多帖子都提到了这一点。因此,如果这是问题所在,则存在许多“重复”。但是 OP 希望 离开页面然后在 onbeforeunload 中“工作”。那是做不到的
【解决方案2】:

此时您无法在 onbeforeunload 中/从 onbeforeunload 中执行任何工作,这是 html 规范中的设计。 Firefox 甚至不再显示您的自定义文本。

另见:

【讨论】:

    猜你喜欢
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2015-06-12
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多