【问题标题】:resume webapp from previous position?从以前的位置恢复 webapp?
【发布时间】:2012-09-30 17:51:06
【问题描述】:

我有一个 web 应用程序,它会在用户进行操作时存储用户数据,这样如果他们在 iPhone 上处于主屏幕应用程序模式时单击外部链接并离开应用程序以查看网页或类似内容。

当他们返回 webapp 时,将如何恢复到相同的位置。? 目前它不会去相同的位置,它重定向到主页我希望它从以前的位置恢复..

如何做到这一点,有什么想法吗?

【问题讨论】:

  • 它在同一个位置...不要做任何事情
  • 不,我没有考虑过...(我真的对 jquery mobile 了解不多,它是我的第一个 Web 应用程序...您的精彩回放将使我对这个应用程序进行很多更改... ) 谢谢
  • 当网络应用重新打开时为什么又回到主页。?我想恢复上一页的位置。有什么想法吗?

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


【解决方案1】:

Web 应用程序不可能(在大多数情况下)从中断的地方继续,因为由于用户将 Web 应用程序图标(假设在 iOS 设备上)存储为本质上是主屏幕上的书签,当他们回到网络应用程序时,它只是将该特定网页作为网络应用程序启动。

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

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

回答:

在您的主页上,在显示任何内容之前,请检查 PHP(或选择的语言)是否设置了 $_COOKIE['lastPage']。如果是,则执行 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, '/');
    }
?>

【讨论】:

  • 我不确定你在问什么。
  • 我的意思是如何保存数据库存储的数据?
  • 我仍然不确定我是否理解您的问题,但是您可以将每个数据库数据元素设置为 Cookie,然后在恢复时检查 Cookie 是否存在,如果存在,则显示数据。只要用户不清除缓存和网站数据,Cookie 就会在退出/恢复 Web 应用程序时保留在设备上。
  • 是的,这就是我的意思,但我不知道如何将每个数据库数据元素设置为 Cookie,您能给我一个示例或示例代码吗?谢谢
  • 如果使用 PHP,您将对从数据库返回的每个值执行 foreach 语句,为每个条目创建一个 cookie。我敢肯定,如果你在这个网站上搜索,你可以找到一些使用 foreach 循环数据库结果的好例子。我再次更新了答案以显示基本代码。
猜你喜欢
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多