如何检查浏览器的“mywindow”选项卡在 asp.net 4.0中是否处于活动状态
How to check If "mywindow" tab of the browser is active or not in asp.net 4.0?
实际上,我正在使用 c# 4.0 在 asp.net 中制作在线测试/考试网站。为了进行考试,用户需要单击一个按钮,该按钮将打开一个带有JavaScript函数的窗口。
function OpenForm() {
window.open('Test.aspx', 'mywindow',
'fullscreen=yes,titlebar=no,toolbar=no,statusbar=no,menubar=no');
}
我想要的是,在考试进行时,如果用户更改其选项卡或打开他/她的电脑中的文件夹,那么我想关闭窗口,即"我的窗口"。 我知道 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"是否处于活动状态,如果是,那么我将在警报("您被取消资格")上显示一条消息,然后关闭"测试.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>
编辑:此脚本放置在他们最终将要访问的页面上。 此外,我添加了一个表单元素,以确保在选择子元素时窗口不会关闭,并且没有任何问题。
编辑2:IE错误是由于javascript没有打开窗口。 所以改用... <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作为选择器完成的。
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 如何使用javascript vb.net asp.net关闭web表单
- 在Ext.net (ASP.NET)中上传完成事件
- 以编程方式滚动/移动到.net asp:listview控件中的一个项目