Javascript 如何检查“是否”;“我的窗口”;浏览器的选项卡在asp.net 4.0中是否处于活动状态?
实际上,我正在用c#4.0在asp.net中制作在线考试网站。为了进行考试,用户需要点击一个按钮,该按钮将打开一个带有JavaScript函数的窗口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'); } 我想要的是,当考试进行时,如果用户更改了标签或打开了他/她的电脑中的文件夹,那么我想
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没问题。因为这是你在这里的第一篇帖子,每当你提出问题并得到帮助时。如果答案解决了您的问题,请务必接受答案并进行投票(这有助于您的评分以及回答者)。