我编写了一个Jquery函数,在一定程度的不活动后使屏幕变黑,创建一个弹出窗口,允许用户单击按钮以保持登录状态,并将其记录下来(关闭应用程序窗口)不要及时回应。
环境是ASP.NET(VB)。我们在技术上不使用母版页,但是我们确实有一个父页面,我们的页眉,页脚和导航驻留在其中,我的Jquery代码从该窗口调用,通过IFrame加载。
我们使用txControl的ActiveX版本作为应用程序内置的文本编辑器。我们很快就会进行升级,但是现在我已经有了这个经典的ASP页面,我需要将我的超时代码集成到其中,但是当超时代码启动时,ASP文件不会“黑掉”像其余的子窗口,以及继续会话的按钮是不可见的,最终落在ASP页面后面,我猜。
这是我的主要超时功能,它位于.js文件中,并通过脚本标记插入父窗口:
function pop_init() {
// show modal div
$("html").css("overflow", "hidden");
$("body").append("<div id='popup_overlay'></div><div id='popup_window'></div>");
//$("#popup_overlay").click(popup_remove); // removed to make sure user clicks button to continue session.
$("#popup_overlay").addClass("popup_overlayBG");
$("#popup_overlay").fadeIn("slow");
// build warning box
$("#popup_window").append("<h1>Warning!!!</h1>");
$("#popup_window").append("<p id='popup_message'><center>Your session is about to expire. Please click the button below to continue working without losing your session.</center></p>");
$("#popup_window").append("<div class='buttons'><center><button id='continue' class='positive' type='submit'><img src='images/green-checkmark.png' alt=''/> Continue Working</button></center></div>");
// attach action to button
$("#continue").click(session_refresh);
// display warning window
popup_position(400, 300);
$("#popup_window").css({ display: "block" }); //for safari using css instead of show
$("#continue").focus();
$("#continue").blur();
// set pop-up timeout
SESSION_ALIVE = false;
window.setTimeout(popup_expired, WARNING_TIME);
}
我已将“保持活跃”代码附加到子窗口中的mousedown,keydown和blur事件,如下所示:
<script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
window.parent.reportChildActivity();
});
</script>
<script type="text/javascript">
$(document).bind("mousedown keydown blur", function() {
window.parent.reportChildActivity();
});
</script>
我尝试将以下内容添加到我的ASP文件中,只是为了获得您在附加图片中看到的结果:
<script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript" language="javascript"></script>
<script src="JScripts/RC_jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
window.parent.reportChildActivity();
});
</script>
<script type="text/javascript">
$(document).bind("mousedown keydown blur", function() {
window.parent.reportChildActivity();
});
</script>
任何人都可以告诉我我需要做什么来让Jquery超时div按照设计覆盖整个窗口?感谢您的时间和任何可能提供的帮助!
顶部pic是所需的结果,以及所有aspx页面上的结果。底部图片是我在经典的asp页面上得到的。
编辑:好吧,我想把ASP页面的所有基本部分都包含在div中(称为“divPage”),然后隐藏div。如果我称之为“$('#divPage'),它就像一个魅力。hide();”从ASP文件的head部分中的脚本 - 它一旦文档加载就隐藏div。但是,我需要条件隐藏,所以我尝试将相同的代码放在我的Jquery文件中,在pop_init函数中,虽然该函数中的其余代码对我执行完美,但隐藏divPage的代码却什么也没做。任何想法为什么我会得到不同的结果来自iniline代码,而不是RC_Jquery.js文件中包含的函数?答案 0 :(得分:0)
jQuery是所有客户端编码ASP是服务器端 - 这个帖子需要移动到jQuery论坛/标签