我正在尝试为我为我的公司制作的网络应用程序实施移动解决方案。主要的基于 PC 的应用程序运行良好,但移动部分的行为很奇怪。
目前,用户退出的唯一方法是访问应用程序主页并选择退出(这最终会改变,但我们仍处于早期开发阶段)。当用户退出应用程序时,我调用一个控制器 (index.php),它将刷新 PHP 会话数据,创建一个页面 (form.html.php),用户可以在其中单击链接重新登录。这链接将调用主控制器,它将检查是否设置了特定的会话变量,如果没有,则重定向到登录控制器/页面。由于注销表单会刷新所有这些数据,因此应将用户重定向到登录页面。如前所述,使用 PC 浏览器可以正常工作。
移动设备上发生的情况是,当用户单击链接重新登录时,移动设备会转到注销的主页。由于所有会话数据都处于非活动状态,因此页面实际上是死的。
如何让移动应用(或 JQuery 移动)停止缓存上一页?任何帮助表示赞赏。仅供参考:我只是在学习移动应用基础设施。
索引.php:
<?php
session_start();
$url = $_SESSION['myurl'];
$root = $_SESSION['myroot'];
$formTitle = 'Exit NSI CRM';
$formHeading = 'NSI CRM System - Goodbye';
$m = $_SESSION['mobile'];
session_destroy();
($m?include ('m_form.html.php'):include ('form.html.php'));
exit();
?>
m_form.html.php:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="<?php print 'http://'.$_SERVER['HTTP_HOST'].'/crm/css/m_crm.css';?>">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript">
google.load("jquery", "1");
</script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<?php include $root.'/inc/favicon.php'; ?>
<title><?php print $formTitle; ?></title>
</head>
<body>
<div data-role="page">
<div>
<br>
<img src="<?php print 'http://'.$_SERVER['HTTP_HOST'].'/crm/img/handshake.jpg';?>">
<h3>
You have been logged out of the NSI CRM System. Good-bye!
<br>
To log back in, click <a style="font-size: larger;" href="<?php echo 'http://'.$_SERVER['HTTP_HOST'].'/crm/'; ?>">here.</a>
</h3>
</div>
</div><!-- /page -->
</body>
</html>