我对 jQuery Mobile(和 Web 开发)有点陌生,并且有历史问题。
首先,上下文:
- 我必须使用 jQuery Mobile
- 我正在使用单页模板。
- 我现在有大约 10 个网页
- 在每个页面中,我都有一个加载菜单的脚本(menuHeader.html + menuHeader.js)。
- 菜单在“pagecreate”事件中加载
事情是,我在一个页面上“玩”(填写一些字段,使用列表上的 JQM 搜索字段等)。
当我使用 $.mobile.changePage 转到另一个页面时,我可以返回到第一页:我已经得到了页面的确切状态,就像我离开它一样。但是,如 JQM 文档中所述, $.mobile.changePage 仅加载另一个页面的第一个 data-role=page 。
=>因此,我的下一页上没有任何菜单。
另一种方法是使用我的新 URL 设置 location.href 并在每个页面中加载我的脚本(这是我的第一个想法)。如果我这样做,菜单会在每一页上加载,但如果不完全重新加载,我就无法返回上一页。
=> 这意味着我的表格和列表是空的,等等。
=> 另外,如果我在 pagecreate 或 document.ready 上调用 Web 服务,Web 服务似乎又被调用了一次。目前这没什么大不了的,但将来可能会导致性能问题。
是否有一种方法可以在每个页面上加载脚本并能够正确使用历史导航(无需重新加载整个前一页)?一种“超级” changePage ?
我的最后一个解决方案是在每个页面中复制我的菜单,但我真的很想避免这种情况,因为如果颜色、标签或任何必须更改的内容,我不想修改每个页面。
我会很感激一些帮助(这个问题现在让我发疯了一个星期)......
提前致谢 !
斯蒂芬妮