标签: onbeforeunload

$(窗口).unload没有触发

我想在用户使用jQuery放弃特定页面时执行一个动作方法.

该页面包含以下代码:

    <script type="text/javascript">

        $(window).unload(function () {
            alert("Handler for .unload() was called.");
        });

    </script>
Run Code Online (Sandbox Code Playgroud)

当我离开页面时,我从未看到预期的警报.

jquery onbeforeunload

16
推荐指数
3
解决办法
8万
查看次数

addEventListener无法使用onbeforeunload

window.addEventListener("onbeforeunload",function() {return "are you sure?"});
Run Code Online (Sandbox Code Playgroud)

^这似乎不起作用... ...页面将关闭而不显示确认框...

我意识到......

window.onbeforeunload = function() {return "are you sure?"}
Run Code Online (Sandbox Code Playgroud)

会工作,但我想添加功能(例如添加许多事件监听器到"onbeforeunload"功能)不完全重写功能!

javascript events google-chrome onbeforeunload addeventlistener

16
推荐指数
2
解决办法
3万
查看次数

防止Firefox重新加载确认

我在可编辑的表格中显示某些记录.当用户在编辑弹出的记录时尝试重新加载表时,会警告有关未保存数据的记录.

function cancelProcess()
{
    if(noEditedRecords !=0)//number of edited records in the table
    {
        var processConfirmation = confirm("You've Edited "+ noEditedRecords +" Records. Are You sure to undo the Changes made?");

        if (processConfirmation ==true){
            window.onbeforeunload = null;
            window.location.reload();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当他单击"确定"重新加载页面时,Firefox会提示为

要显示此页面,Firefox必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息.

在Chrome中打开同一页面时,不会出现此类提示.

我试图通过设置避免这种情况window.onbeforeunload = null;,但仍然会出现提示窗口.

我也试过改变Firefox配置:

browser.sessionstore.postdata

根据Mozilla支持页面中的建议将0更改为1.

但没有任何效果..如何阻止提示?

javascript firefox google-chrome onbeforeunload reload

16
推荐指数
2
解决办法
3万
查看次数

对于IE和FF使用JQuery或onbeforeunload

我在"index.template.html"文档中使用javascript在Flex4应用程序中工作.我有一个问题是能够使用Firefox的onbeforeunload.该应用程序在IE中完美运行,但完全相同的一个不适合FF.(见下文)

<script type="text/javascript">
window.onbeforeunload=before;
window.onunload=after;

function before(evt)
{
   var flex=document.$(application)||window.$(application);
   flex.unloadMethod(); //custom method to log out the user
}

function after(evt)
{

}
</script>
Run Code Online (Sandbox Code Playgroud)

从我发现的,FF似乎没有注册onbeforeunload事件,所以我发现使用的流行的东西是与JQuery绑定.因此,我删除了上面的代码并将其替换为以下代码,但是当用户尝试在IE和FF中离开页面时,它不会显示弹出窗口.任何似乎都在使用JQuery的人似乎都在做同样的事情,所以我不知道发生了什么.

<script type="text/javascript">
$(window).bind("beforeunload",function(event){
   return "This should create a pop-up";
});
</script>
Run Code Online (Sandbox Code Playgroud)

最终在第一段代码中调用"flex.unloadMethod"会很好,但暂时我只是试图让弹出窗口工作,所以我知道我在正确的轨道上.任何见解将不胜感激.

javascript jquery onbeforeunload flex4

13
推荐指数
1
解决办法
3万
查看次数

Opera中的onbeforeunload

我正在使用netadictos在此处发布的代码.我想要做的就是当用户离开或关闭窗口/标签时显示警告.

netadictos发布的代码似乎在IE7,FF 3.0.5,Safari 3.2.1和Chrome中运行良好,但它在Opera v9.63中不起作用.有没有人知道在Opera中做同样事情的方式?

Thx,Trev

javascript events opera onbeforeunload

12
推荐指数
2
解决办法
1万
查看次数

使用iframe的Google Chrome onbeforeunload错误行为

假设我有两页.其中一个包含另一个内部为iframe.如果您在父页面上订阅onbeforeunload事件,则在iframe处于焦点时关闭选项卡时不会触发此事件.我想这是一个写在这里的错误: Google Chrome问题

但我提到,例如,谷歌文档处理这种情况.有谁能给我一个解决方案?重要提示我无法实际访问iframe内容,因为它是第三方html编辑器(WYSIWYG).

javascript iframe wysiwyg google-chrome onbeforeunload

12
推荐指数
1
解决办法
6812
查看次数

为什么jQuery onbeforeunload无法在Chrome和Firefox中运行?

jQuery onbeforeunload无法在Chrome和Firefox中运行.它在IE和Safari中正常工作.

jQuery(window).bind('onbeforeunload' ,function () {
    mymethod();
});
Run Code Online (Sandbox Code Playgroud)

上面的代码在IE和Safari中正常工作,但在Firefox和Chrome中没有.

jquery onbeforeunload

12
推荐指数
1
解决办法
3万
查看次数

IE 11上的beforeunload - 不提示用户不起作用

将侦听器添加到beforeunload事件的全局窗口对象时,IE 11(和10)不会像Chrome和Firefox那样运行.

通常,如果不希望对话框提示用户,则返回将用于填充浏览器本机对话框提示的字符串,或者返回空字符串.

但是,在IE 11中,如果返回空字符串和/或将其设置evt.returnValue为空字符串,则会打开浏览器本地的"Navigate Away"对话框,并提示用户确认它们可能会丢失未保存的更改.

有没有办法(不必删除事件监听器)让对话框没有出现在IE 11中?

看看我的JSFiddle(在IE中 - 因为它应该在Chrome,Firefox和Safari中正常工作).

这是小提琴的来源:

var isDirty = false;
var message = '** You have unsaved changes. **'
window.addEventListener('beforeunload', function(evt){
  if(isDirty) {
    evt.returnValue = message;
    return message;
  }
  delete  evt.returnValue;
  return "";
});
Run Code Online (Sandbox Code Playgroud)

javascript onbeforeunload internet-explorer-11

12
推荐指数
1
解决办法
6937
查看次数

onBeforeUnload对Chrome无法正常工作

我已经使用这段代码已经有一段时间了,它一直运行到昨天:

window.onbeforeunload = function() {
    return "¡Atención! Si continúas no podrás volver atrás y podrías perder datos. Revisa todos los campos y termina el trabajo antes de moverte de esta página. ¿Seguro que quieres continuar?";
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是Chrome显示:

Chrome截图

但Edge表明它是正确的方式:

边缘截图

我究竟做错了什么?

注意:语言不是问题,因为我尝试过英语和西班牙语.

javascript google-chrome onbeforeunload javascript-events microsoft-edge

12
推荐指数
1
解决办法
8085
查看次数

如何禁用角度中弹出的“离开站点?。您所做的更改可能不会保存”?

我试图在到达订单确认页面后关闭浏览器,它会发出如下所示的警报。这会给用户造成误解,认为他的更改尚未保存。所以我想避免这个弹出窗口。

在此输入图像描述

我知道此警报是由于beforeunload事件而触发的。我尝试过的解决方案:

window.addEventListener("beforeunload",(event)=>{
    return null;
})
Run Code Online (Sandbox Code Playgroud)

 window.onbeforeunload=null;
Run Code Online (Sandbox Code Playgroud)

我没有在我的应用程序中使用 jQuery。有没有其他方法可以禁用此事件的触发。

我尝试过的链接:

如何禁用/覆盖“您想离开此网站吗?” 警报?

禁用“您所做的更改可能无法保存”弹出窗口

如何禁用“您所做的更改可能不会保存”。对话框(Chrome)?

他们都不为我工作。

如果没有 jQuery,我怎样才能实现这个目标?我感到困惑的是如何处理这个事件,以便它不显示弹出窗口。

我使用的是 Chrome 版本 101.0.4951.64

javascript onbeforeunload dom-events angular

12
推荐指数
1
解决办法
3万
查看次数