2012-05-10 64 views
0

我有一個簡單的頁面與asp.net的MVC火狐打之前「onunload的」功能的服務器稱爲

當我只在FF點擊F5或Ctrl + F5,服務器「onunload的」前hitted javascript函數運行叫做。它在IE中按預期工作。任何知識?

行爲是這樣的: 1-通知javascript函數被調用時, 2-服務器端代碼被調用,頁面被刷新 3- onunload的javascript函數被調用。

我期望的是3.step在第2步之前像IE一樣運行。

<head runat="server"> 
    <title>Serdar</title> 
    <script src="<%=Url.ContentV("~/Scripts/JQuery/jquery-1.6.4.js")%>" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 

      window.onbeforeunload = NotifyClosing; 
      window.onunload = UnLockDraftOrder; 
     }); 

     function NotifyClosing() { 
      alert('closing'); 
     } 

     function UnLockDraftOrder() { 

      alert('unlock order'); 
     } 
    </script> 
</head> 
<body> 
    <div> 
    serdar 
    </div> 
</body> 
</html> 

回答

1

瀏覽器實際上並不知道該頁面是否將卸載,直至碰到服務器。例如,如果接下來要加載的內容將在助手應用程序中呈現,而不是在瀏覽器中呈現,則當前頁面將不會被卸載,並且根本不應該有卸載事件。