我想在应用程序中添加一些在线页面,使其保持最新,而不会发布新的商店版本。为此,我教过我可以使用jqm ajax导航来加载外部页面。 (我知道可能不允许所有平台使用。)
我已经设定:
$.mobile.allowCrossDomainPages = true;
$.mobile.pushStateEnabled = false;
这似乎有效,但问题是我的所有href和$ .mobile.ChangePages都必须更改为
<a href='http://mydomain.com/mypage.html'>link</a>
$.mobile.changePage('http://mydomain.com/mypage.html');
代替
<a href='mypage.html'>link</a>
$.mobile.changePage('http://mydomain.com/mypage.html');
有没有更好的方法在本地和在线使用jqm ajax导航加载html页面?
额外信息:
答案 0 :(得分:3)
为什么不使用 loadPage 方法?它会将远程页面(使用 AJAX ,就像jQuery方法加载一样)加载到 DOM 中。然后,您可以轻松使用 changePage 打开已加载的页面。
它可用于加载外部和内部内容。它不会遇到像 $。ajax 这样的跨域问题。将内容加载到 DOM 时只需要小心,如果需要的页面很大,则需要手动将其从 DOM 中删除。这只是这个解决方案的缺点(如果你愿意,我会告诉你一个例子)。
另外,你需要了解另一件事。当使用loadPage或changePage加载外部内容时,无论是加载还是远程 HTML 文件,jQuery Mobile都将首先加载 data-role =&#34; page&#34; div在远程文件中找到。它将丢弃其他一切。包括其他页面。
如果你想加载完整的内容,那么你应该使用jQuery方法加载,但要小心只加载 BODY 内容,如果你加载竞争HTML页面(包括 HEAD)它可能会变得混乱)进入现有的jQuery Mobile项目。