Javascript How to call a function when we choose Stay on Page in Chrome

后端 未结 3 857
隐瞒了意图╮
隐瞒了意图╮ 2021-02-13 18:35

Please check my code in Chrome Browser, if you hit refresh you will be prompted with 2 options.

  1. Leave This Page and
  2. Stay on This Page
相关标签:
3条回答
  • 2021-02-13 18:36

    Please use these lines of code , it works properly.

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
        </script>
        <script type="text/javascript">
        $(function(){
        $(window).bind('beforeunload', function(){
          return 'Your Data will be lost :(';
         });
        });
        </script>
    
    0 讨论(0)
  • 2021-02-13 18:44

    use a timer to listening for change variable :

    var vals=0;
    function displayMsg() {
        alert('my text..');
    }
    window.onbeforeunload = function evens(evt) {
    var message = 'Please Stay on this page and we will show you a secret text.';
      if (typeof evt == 'undefined') {
          evt = window.event;
      }       
        timedCount();
        vals++;
      if (evt) {
          evt.returnValue = message ;
          return message ;
      }
      trace(evt);
    } 
    
    function timedCount()
    {
    t=setTimeout("timedCount()",100);
    if(vals>0)
    {
        displayMsg();
        clearTimeout(t);
    }
    }
    
    0 讨论(0)
  • 2021-02-13 18:57

    You can use a combination of the onbeforeunload and onunload events, setting a timer in the former and clearing it in the latter:

    var showMsgTimer;
    
    window.onbeforeunload = function(evt) {
        var message = 'Please Stay on this page and we will show you a secret text.';
        showMsgTimer = window.setTimeout(showMessage, 500);
    
        evt = evt || window.evt;
        evt.returnValue = message;
    
        return message;
    }
    
    window.onunload = function () {
        clearTimeout(showMsgTimer);
    }
    
    function showMessage() {
        alert("You've been trolled!");
    }
    

    This works because the onunload event never fires when the user chooses to stay on the page.

    0 讨论(0)
提交回复
热议问题