繁体   English   中英

无法阻止刷新window.onunload()中的页面

[英]Cannot prevent refreshing page in window.onunload()

我正在尝试显示提示消息,以防用户尝试刷新页面。 我使用window.onbeforeunload,它在其他浏览器(而不是Mobile Safari)上可以正常工作。

我正在尝试将window.onunload用于Mobile Safari,我可以显示提示消息,但不能阻止刷新页面。

下面是代码

<script>
    var iOS = ( navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false );
    if(iOS){

        window.onunload = function() {
            var test = confirm("Are you sure you want to leave this page");

            if(!test){
                return false;
            } 

        }
    }

我也尝试了pagehide事件,可以显示提示,但仍然无法阻止刷新页面,下面是代码

<script>

  window.addEventListener("pagehide", function(){
    var test = confirm("Are u sure you want to leave this page aaaaaaaaaaaaa");         
    if(!test){          
        return false;
    } 
  },false);

</script>

阅读此答案

为什么jQuery卸载无法在chrome和safari中使用?

卸载前不能有任何对话框/信任。

jQuery(window).on('beforeunload', function() {
  return 'Are you sure you want to leave this page';
});

截至本网站的一些信息:

https://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/

onbeforeunload和onunload在Safari中不起作用。 因此,我建议您尝试在Safari浏览器中使用pagehide事件。 请尝试让我知道

http://www.w3schools.com/jquerymobile/event_pagehide.asp

尝试这个

$(window).on('beforeunload', function() {
  return 'Your own message goes here...';
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM