Javascript 如何检查“是否”;“我的窗口”;浏览器的选项卡在asp.net 4.0中是否处于活动状态?

Javascript 如何检查“是否”;“我的窗口”;浏览器的选项卡在asp.net 4.0中是否处于活动状态?,javascript,asp.net,c#-4.0,onblur,Javascript,Asp.net,C# 4.0,Onblur,实际上,我正在用c#4.0在asp.net中制作在线考试网站。为了进行考试,用户需要点击一个按钮,该按钮将打开一个带有JavaScript函数的窗口 function OpenForm() { window.open('Test.aspx', 'mywindow', 'fullscreen=yes,titlebar=no,toolbar=no,statusbar=no,menubar=no'); } 我想要的是,当考试进行时,如果用户更改了标签或打开了他/她的电脑中的文件夹,那么我想

实际上,我正在用c#4.0在asp.net中制作在线考试网站。为了进行考试,用户需要点击一个按钮,该按钮将打开一个带有JavaScript函数的窗口

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

我想要的是,当考试进行时,如果用户更改了标签或打开了他/她的电脑中的文件夹,那么我想关闭窗口,即“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> 

函数endRequestHandler(发送方,参数)
{ 
yourFunction();
} 
函数yourFunction()
{ 
警报(“aaa”);
} 
函数pageLoad()
{ 
如果(!Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack())
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
} 
//我需要更正yourFunction()中的逻辑,以检查“mywindow”或“test.aspx”是否处于活动状态。如果是,则我将显示一条警告消息(“u被取消资格”),然后关闭“test.aspx”


请有人帮我解决这个问题!!!请

我就是这样做的。。。我在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>

$(文档).ready(函数(){
$(window.focus();
$(窗口).blur(函数(){
window.opener.badstudior();
window.close();
});
$(“#关闭”)。单击(函数(){
window.close();
});
});
编辑:此脚本被放置在它们将结束的页面上。此外,我还添加了一个表单元素,以确保在选择子元素时窗口不会关闭,并且没有任何问题

编辑2:IE错误是由于javascript没有打开窗口造成的。因此,我们应该使用。。。

然后

<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>

函数BadStudent(){
警惕(“你是个坏学生”);
};
$(文档).ready(函数(){
$(“#打开窗口”)。单击(函数(e){
e、 预防默认值();
Popup=window.open(“@Url.Action(“test”)”).focus();
});
});

子窗口上的脚本仍然有效。这也是使用jQuery为选择器完成的。

非常感谢Jared先生。我会尝试在我的项目,让你知道,如果我有任何问题。总之,我有很多缺点。:)@SubhojitMukherjee没问题。因为这是你在这里的第一篇帖子,每当你提出问题并得到帮助时。如果答案解决了您的问题,请务必接受答案并进行投票(这有助于您的评分以及回答者)。