body标签的Onunload事件无效

时间:2014-10-30 09:05:42

标签: javascript html

我需要使用body的onunload事件。但它不起作用。我有以下代码。请帮帮我。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Untitled Document</title>
  </head>

 <body onunload="myFunction();">  
 </body>
 </html>
 <script type="application/javascript">
 function myFunction()
 {
    alert("hello");
}
</script>

3 个答案:

答案 0 :(得分:0)

 </html>
 <script type="application/javascript">
 function myFunction()
 {
    alert("hello");
 }
 </script>

你应该使用这个内部html,如

 <html>
 <head>
 ....
 <script type="application/javascript">
 function myFunction()
 {
    alert("hello");
 }
 </script>
 </head>
 <body onunload="...">

答案 1 :(得分:0)

是的,我得到了解决方案。感谢@artm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="application/javascript">
 window.onbeforeunload=before;
 window.onunload=after;

 function before(evt)
 {
 $.ajax({
        type:'POST',
        url:'addVar.php',
        dataType:'text',
        data:{

        },
        success:function(data){

        },

        error:function(XMLHttpRequest,textStatus,errorThrown){

        }

});

  //return "asd";//If the return statement was not here, other code could be executed     silently (with no pop-up)
   }

   function after(evt)
   {
   //This event fires too fast for the application to execute before the browser unloads
   }
   </script>
   </head>

   <body >
   </body>
   </html>

答案 2 :(得分:-1)

您的<script>标记位于<html>标记之外。尝试将其移至<head>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Untitled Document</title>
  <script type="application/javascript">
 function myFunction()
 {
    alert("hello");
}
</script>
  </head>

 <body onunload="myFunction();">  
 </body>
 </html>