JqueryMobile – 刷新ajax加载的页面

我使用jquerymobile制作了两个页面。 第一个包含第二个链接。

Some page 

当我点击链接时,我会加载新页面。 但是,如果我按下F5按钮,我将获得没有任何js脚本和css文件的新页面。 第一页的结构是:

   ... js/css files ...   
...

第二:

 
...

那么如何才能使F5按钮正常工作? 就像我把所有内容放在一页(然后它工作正常)

是否可以仅更改页面的内容部分,以便我不会一直复制粘贴页眉和页脚?

提前致谢

这是旧的,但有很多的网页浏览量,我没有在其他地方看到答案…

我认为根据所需的行为有两种解决方案。

首先是在第二页和每一页上都有相同的模板 – 标题,包括等。 这确保无论浏览器对url散列的支持如何,“深层链接”和刷新都会起作用(chrome要求这样,IE没有它就可以正常工作。)

当需要状态时,这会下降。 如果用户在第一页上登录或搜索某些内容,并在第二页上显示结果,则第二页的深层链接没有任何意义,并且不应该真正导航到。 同样为F5; 你会在刷新时失去状态。

这导致解决方案2,如果用户通过链接或刷新进入,则重定向到第一或“主页”页面。 而不是复制非索引页面的模板,只需更改标题中的位置:

  

在jQM中的正常ajax页面导航期间,标题中的脚本不会运行; 这仅在直接导航到页面时运行。

如果这种情况发生,请直接导航到像mysite / index.html#/ pageTwo.html这样的散列url。 jQM加载index.html,然后加载pageTwo.html而不处理标题脚本,但如果这是一个有状态页面,它将无法正确显示。

你可以完全关掉哈希:

 $.mobile.changePage.defaults.changeHash = false; 

或者在pageinit处理程序中检查状态,如果页面需要状态,并将用户退回到索引页面。