jquery mobile - 从外部链接返回后如何正确加载页面

时间:2017-05-24 06:08:39

标签: javascript jquery html css jquery-mobile

我创建了JQM网站,我使用单页设计,这意味着我的index.html首先加载所有.js,css等文件。 我剩下的页面是带data-role="page"的简单Div。

当我浏览网站时,浏览器URL会发生变化,后退按钮也会正常工作。 但问题是:

网站包含付款系统,为此,用户将从我的网站重定向到付款页面,成功/失败后,付款页面会尝试重定向回我网站的最后一个网址,如下所示:

http://<ip>:<port>/appName/pages/page-name.html

但这不会加载任何css或JS文件。

有什么方法可以保留上一次会话吗? 请帮我解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

在JQM中,您无法直接链接到多页文档中的特定页面。

当您链接到包含多个页面的页面时,jQuery mobile的工作方式默认为加载第一页。您需要使用subpages plugin加载带有AJAX的页面

您应该将页面分开或通过AJAX(使用插件)预加载多页文档,然后将其作为内部页面链接到

来自Documentation

  

注意:您无法使用Ajax导航链接到多页文档   因为框架只会加载它找到的第一个页面,所以   不是完整的内部页面。在这些情况下,您必须链接   没有Ajax(参见下一节)进行整页刷新以防止   潜在的哈希冲突。目前有一个子页面插件   可以加载多页文档

     

重要的是要注意,如果您从移动页面进行链接   通过Ajax加载到包含多个内部页面的页面,   你需要添加一个rel =&#34; external&#34;或data-ajax =&#34; false&#34;到链接。   这告诉框架进行整页重新加载以清除   URL中的Ajax哈希值。这很关键,因为Ajax页面使用哈希   (#)跟踪Ajax历史记录,而多个内部页面使用   hash表示内部页面,因此哈希中会有冲突   这两种模式之间。