2015-11-29 3 views
0

Рассмотрите следующий фрагмент HTML, содержащий некоторые подсказки javascript и выгрузку. Метод prompt() работает нормально, но я хочу предупредить что-то вроде Goodbye, пользователь при перезагрузке или выходе из страницы. Любая помощь приветствуется.Javascript unonload and onload function

<html> 
<body onload="promptName()" > 


     <script type="text/javascript"> 
     function promptName() 
     { 
      var userName = prompt("What's your name ?", "") 
      return userName; 
     } 

     function goodBye() 
     { 
      alert("Goodbye, " + promptName() + "!"); 
     } 

     window.onunload = goodBye; 
     window.onbeforeunload = goodBye; 

     </script> 

    </body> 
</html> 
+0

Что ошибка вы получаете в консоли разработчика? убедитесь, что он не заблокирован некоторыми расширениями в браузере. – Dineshkumar

+2

С 'onbeforeunload', это определено поведение. «[... спецификация HTML5 заявляет, что вызовы' window.alert() ',' window.confirm() 'и' window.prompt() 'методов могут игнорироваться во время этого события.] (https: // developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Notes) «Событие ожидает, что сообщение будет явно« возвращено », а не« предупреждено ». –

+0

Возможный дубликат [Javascript onload и onunload] (http://stackoverflow.com/questions/9907867/javascript-onload-and-onunload) – ForguesR

ответ

0

попробовать этот

<script type="text/javascript"> 
    var userName; 
    function promptName() 
    { 
     userName = prompt("What's your name ?", "") 
     return userName; 
    } 

    function goodBye() 
    { 
     //alert("Goodbye, " + promptName() + "!"); 
     return("Goodbye, " + userName + "!"); 
    } 

    window.onunload = goodBye; 
    window.onbeforeunload = goodBye; 

    </script> 
    <a href="http://stackoverflow.com/">stackoverflow</a>