【发布时间】:2012-09-20 15:37:10
【问题描述】:
我正在使用 jQuery mobile 开发一个应用程序,它将使用 HTML5 离线功能(缓存清单等)。
基本程序适用于现场技术人员在没有互联网连接的平板电脑上查看/修改他们的订单。我正在使用本地浏览器数据库来存储订单。
我有一个可以查看任何订单的 orders.html 页面 - 但要向它传递参数,我不能使用 GET 参数,因为程序处于脱机状态,我无法在清单中列出每个订单。
所以我必须使用哈希参数——例如orders.html#o4572。但是 jQuery mobile 不能很好地使用这个方案——它使用散列参数作为它自己的方案。当我在 list.html 并且有指向 orders.html#o4572 的链接时 - 它会将链接转换为 list.html#o4752 并停留在同一页面上。
我可以通过设置 $.mobile.linkBindingEnabled = false; 来关闭 jQuery mobile 的链接处理,但这会阻止所有 ajax 导航 - 你失去了漂亮的转换,并且弹出对话框不再“正常工作”,你必须手动进行。并且可能还有其他问题。
这是让它正常工作的唯一方法吗?我刚刚开始使用 jQuery mobile,所以我觉得我错过了一些东西。
【问题讨论】:
-
看看这个:github.com/azicchetti/jquerymobile-router。由 JQM 团队推荐。救了我。
-
我已经看到了,但它看起来需要一个单文件系统——其中没有 orders.html 和 list.html——而是一个 app.html。这个应用程序最终会变得非常大——如果它们都在同一个文件中,那么 DOM 将会太大。更多的维护痛苦。
-
是的,我的 SPA。但它确实允许您传递参数,而无需第一次缓存 url。我认为动态配置路由器也可能很痛苦。
-
@CrimsonChin 实际上我最终选择了这个,因为可以缓解 DOM 问题。如果你想给它一个答案,我给你。
标签: jquery-mobile parameters offline cache-manifest