gpt4 book ai didi

javascript - 带有 2 个计时器的 jquerymobile session 超时

转载 作者:行者123 更新时间:2023-11-30 05:56:36 26 4
gpt4 key购买 nike

编辑:我发现问题在于使用 live 而不是 on。但是,我修复了这个问题,无法让第二个计时器触发......

错误:对象 [object Object] 没有方法“popup”

我正在尝试使用 jquery mobile 实现客户端 session 超时。我的代码位于:http://jsfiddle.net/83BSW/5

感谢任何见解..

为方便起见,这里是代码:

<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>


<!-- Application specific -->

<script>
var first_timer = 2 * 1000;
var second_timer = 3 * 1000;
var down = -1;

function initTimer() {
down = setTimeout(processTimeout, first_timer)
}

function processTimeout() {
down = setTimeout(logout, second_timer);
$.mobile.changePage('#timeout1',{transition:'slide', role:'dialog'});
//alert ("Timeout of first timer, timerid:" + down );
}

function logout() {
$("#timeout").popup('close');
$.mobile.changePage('#timeout2',{transition:'slide', role:'dialog'});
alert("You are logged out");
// window.location = "http://www.google.com"
}

function resetMyTimer() {
if ( -1 != down )
clearTimeout(down);
alert("Restarting timer");
initTimer();
}

$("#loadingpage").on(function() {
resetMyTimer();
});

initTimer();

</script>

</head>
<body>
<div data-role="page" id="loadingpage">
<div data-role="header" data-position="fixed">
<div class="headerlogo"> </div>
<h1> Test </h1>
</div>
<div data-role="content" >
<div id="ssagov">
<h1> Hi there </h1>
</div>
<input type="button" data-shadow="false" data-corners="false" value="Next" />
</div><!-- /content -->
</div><!-- /launch page -->
<div data-role="page" id="timeout1" data-role="popup">
<div data-role="header" data-backbtn="false">
<h1>Timeout1</h1>
</div>
<div data-role="content">
Your session will timeout in 2 mins.
</div>
</div>
<div data-role="page" id="timeout2" data-role="popup">
<div data-role="header" data-backbtn="false">
<h1>Timeout2</h1>
</div>
<div data-role="content">
Your session has timed out
</div>
</div>

</body>
</html>​

最佳答案

最后我解决了这个问题,我应该使用对话框而不是弹出窗口。这是工作版本:http://jsfiddle.net/83BSW/6

关于javascript - 带有 2 个计时器的 jquerymobile session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com