2

我有一个使用 XPages 的移动控件构建的应用程序。在 ipHone 上,应用程序的行为与我在标准 Safari 浏览器中的行为一样。当我获取 url 并将其作为图标添加到主页并从那里使用应用程序时,每当我执行的操作调用本机应用程序(地图、联系人、电话、附件查看器等)时,当我切换回我的应用程序时我立即被要求再次输入我的用户名和密码。有没有办法像标准 Safari 应用程序一样控制行为以不丢失登录凭据。

4

3 回答 3

1

这是 iOS 中的限制。如果您将它保存到主页,它可以工作,但它不会多任务。那就是问题所在。所以它不记得你在哪里或类似的东西。

于 2013-03-29T21:10:35.390 回答
1

正如大卫所说,当您切换回来时,它会重新开始......问题不仅在于凭据 - 它还在于您可能输入的所有信息或您在“应用程序”中导航到的位置。

这就是为什么我要改用另一种方法。我开始将应用程序编写为在本地运行的 Web 应用程序(即缓存资源并在 JS 文件、CSS 和图像的缓存版本上运行)。然后我实现了一个本地存储,您可以在其中跟踪您在应用程序中的位置 - 并再次返回该位置。这样您就不需要验证来运行应用程序 - 仅用于将信息与服务器同步。我的方法是在本地保存数据并将它们同步到服务器(作为一种复制)。这显然提供了更多的工作 - 但它也提供了更好的用户体验,因为您可以在不连接的情况下运行“应用程序”。

我尝试使用 cache.manifest 文件在本地控制缓存。这是可以做到的,但是,这是一种痛苦。因此,我现在正在使用 Sencha Touch,它确实可以很好地做到这一点。

/约翰

PS。我认为您可以使用 XPage Dojo 登录自定义控件来处理登录问题(http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Xpages%20Dojo%20Login% 20Custom%20Control ) - 但是,它不能解决重新加载页面的问题...

于 2013-03-30T17:30:30.127 回答
0

看来这里成功的秘诀不是告诉 Safari XPage 能够充当移动 Web 应用程序。在 XPage 中添加以下代码以确保是这种情况。

<xp:metaData
  name="apple-mobile-web-app-capable"
    content="no">
</xp:metaData>

注意:您仍然可以为主屏幕提供一个图标,只是该图标现在更像是带有 Safari 控件的书签,并且(更重要的是)您可以在应用程序之间切换,当您返回 Safari 时,它将显示您的 Xpages 应用程序就像你离开它一样。

于 2013-04-26T20:54:26.713 回答