从以前的位置恢复webapp?

时间:2012-10-10 09:39:11

标签: jquery iphone web-applications jquery-mobile mobile-safari

我有一个webapp,可以在用户数据进展时存储这些数据,这样如果他们在iPhone上的主屏幕应用模式下点击外部链接并让应用程序查看网页或类似内容。

当他们返回webapp时,将如何恢复在同一位置。 目前它没有相同的位置,它重定向到主页我希望它的简历从以前的位置..

如何做到这一点,任何想法?

1 个答案:

答案 0 :(得分:7)

从大多数情况下,Web应用程序无法从中断处继续,因为用户将Web应用程序图标(假设在iOS设备上)存储为主屏幕上的书签,它只是在返回Web应用程序时将该特定网页作为Web应用程序启动。

然而,你可以做的是设置一个cookie(通过PHP或Javascript)等于每次用户在移动应用中查看页面时用户正在查看的完整URL。例如(在PHP中):

//--- Set lastPage cookie for 24 hrs for your domain --- //
setcookie('lastPage', 'http://www.example.com/products/bicycles', time()+86400, '/');

<强>解答:

在您的主页上,在显示任何内容之前,如果设置了$_COOKIE['lastPage'],请使用PHP(或选择的语言)进行检查。如果是,请执行if语句将用户重定向到最后查看的页面。

<?php
    if(isset($_COOKIE['lastPage'])) {
        header('location: '.$_COOKIE['lastPage']);
        exit();
    } 
?>

这对用户来说是无缝的,并且会使其看起来好像网络应用程序正在“记住”他们的会话。因此,在除主页之外的每个页面的顶部,您可以在显示任何内容之前放置以下代码(将pageUrl中的URL替换为每个页面的实际URL):

<?php     
    $pageUrl = 'http://www.example.com/products/bicycles/';
    setcookie('lastPage', $pageUrl, time()+86400, '/');
?>

循环访问数据库结果:

<?php     
    foreach(database['row'] as $variableName => $variableValue) {
        setcookie($variableName, $variableValue, time()+86400, '/');
    }
?>