2014-07-03 46 views
0

我有一个网站,我正在使用JQM转换成一个应用程序。我已阅读关于页面以及DOM如何加载,但我仍然不确定如何构建网站。jQuery手机网站的体系结构很多页面

该应用程序的主页面基于使用JS加载的Google Maps API。目前有150多个目标网页,因此我不希望它们在用户点击链接之前加载。所有的目标页面也需要JS初始化。当他们返回到主页面时,缓存状态应该是默认状态,但如果查询字符串发生更改,我还需要运行JS选项。内容不会经常改变,所以我的选择是一旦加载缓存数据,但需要某种方式来刷新缓存。

我将该网站转换为JQM。目标页面JS没有运行,所以我将rel='external'添加到链接中。 JS现在运行在目标上,但是当我链接回主页面时,它会重新加载页面而不运行初始化JS。明显的解决办法是增加rel="external",但是我会击败所有的性能价值。关于如何构建它的任何建议?

回答

0

使用rel=external您的链接将不会加载Ajax,您将失去动画页面转换。如果你想运行一些脚本时,页面显示,使用此页面事件:

$(document).on("pageshow", "#selector", function(event, ui) { /* your code */ }); 

这和其他有用的事件中jQuery Mobile API Documentation描述。 例如,pagecreate(现已弃用的pageinit)在页面初始化时被调用一次。

关于获取查询字符串参数,请参阅this answer