2012-04-28 55 views
0

其實我正在使用c#4.0在asp.net上製作網上測試/考試的網站。並且爲了提供考試,用戶需要點擊一個按鈕,該按鈕將打開一個帶有JavaScript功能的窗口。如何檢查瀏覽器的「mywindow」選項卡是否在asp.net 4.0中處於活動狀態?

function OpenForm() { 
window.open('Test.aspx', 'mywindow', 
'fullscreen=yes,titlebar=no,toolbar=no,statusbar=no,menubar=no'); 

}

,我想的事情是,雖然考試是怎麼回事,如果用戶更改其標籤或他/她的PC打開一個文件夾,然後我想關閉該窗口,即「爲mywindow 」。我知道它不可能在asp.net中實現這一點,所以想知道如何在JavaScript或jQuery中實現這一點?

我已經搜索了很多答案,現在我知道如何在每次加載「test.aspx」或「mywindow」頁面時調用JavaScript函數。

<form id="form1" runat="server"> 

    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
<script type="text/javascript"> 

function endRequestHandler(sender, args) 
{ 
    yourFunction(); 
} 

function yourFunction() 
{ 

    alert("aaa"); 
} 


function pageLoad() 
{ 
    if(!Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack()) 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler); 

} 
</script> 


    <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 

     <ContentTemplate> 
      <asp:Timer ID="Timer1" runat="server" Interval="6000"> 

      </asp:Timer> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</form> 

//我需要向右yourFunction中()中的邏輯來檢查「mywindow的」或「Test.aspx文件」是活動的還是不如果是的話,我將顯示在警報的消息(「u的不合格「),然後關閉」test.aspx「

請有人幫我解決這個問題!請...!!

回答

1

這就是我是如何做到的......我在Chrome/Opera/Firefox/IE中測試過...在IE中它要求關閉所有其他窗口的權限自動關閉....不知道如何現在解決IE錯誤。

<script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $(window).focus(); 
    $(window).blur(function() { 
     window.opener.BadStudent(); 
     window.close(); 
    }); 
    $('#close').click(function() { 
     window.close(); 
    }); 
}); 
</script> 

編輯:這個腳本放在他們將在最後的頁面上。此外,我添加了一個表單元素,以確保在選擇子元素時窗口不會關閉,並且我沒有任何問題。

編輯2:IE錯誤是由於JavaScript不打開窗口。所以insted的使用... <a href="#" id="OpenWindow">Link</a>

然後......

<script type="text/javascript"> 
     function BadStudent() { 
      alert("Your a bad student"); 
     }; 
     $(document).ready(function(){ 
      $('#OpenWindow').click(function(e){ 
       e.preventDefault(); 
       Popup = window.open("@Url.Action("test")").focus(); 
      }); 
     }); 
</script> 

就是那張在子窗口上仍然有效的腳本。這也是使用選擇器的jQuery完成的。

+0

非常感謝Jared先生。我會在我的項目上嘗試這個,並讓我知道如果我有任何問題。 Anywayz很多。 :) – 2012-04-28 06:06:14

+0

@SubhojitMukherjee沒問題。由於這是您在這裏提出問題並獲得幫助的第一篇文章。如果答案能夠解決您的問題,請務必接受答案並加以解決(這有助於您的評分以及答案者)。 – Jared 2012-04-28 07:08:07

相關問題