打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PhoneGap/jQuery Mobile: 多页面导航跳转

陈小峰-iefreer的专栏

只有心中那首歌来回的唱

分类: Web Android iPhone 2012-01-05 20:28 8000人阅读 评论(3) 收藏 举报

在WEB程序中,经常会通过#来在同一页面中滚动定位元素,如下:

<a href="#bar">scroll to bar</a>

你可能想在PhoneGap/jQM应用程序中实现相同的效果, 但默认html的行为在jQM中是不工作的,

你需要在一个html文件中定义多个内部页面(page元素)才行.

<body>

<!-- Start of first page -->
<div data-role="page" id="foo">

    <div data-role="header">
        <h1>Foo</h1>
    </div><!-- /header -->

    <div data-role="content">    
        <p>I'm first in the source order so I'm shown as the page.</p>        
        <p>View internal page called <a href="#bar">bar</a></p>    
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /header -->
</div><!-- /page -->


<!-- Start of second page -->
<div data-role="page" id="bar">

    <div data-role="header">
        <h1>Bar</h1>
    </div><!-- /header -->

    <div data-role="content">    
        <p>I'm second in the source order so I'm shown when you navigate me.</p>        
        <p><a href="#foo">Back to foo</a></p>    
    </div><!-- /content -->

    <div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /header -->
</div><!-- /page -->
</body>

你把上面的代码放在PhoneGap应用程序首页index.html中是工作的, 但是下述两种情况则不尽然:

1) 但如果你的首页是一个列表视图,其中每一行链接到一个新的html文件, 然后你想在这个新加载的页面中实现多页跳转的效果,这就不行了.

因为链接在jQM中是被自动处理为ajax请求的,而jQM通过#(hash)来跟踪管理ajax页面访问历史的(框架实际利用了浏览器的本地历史记录功能),这将导致hash冲突.

你需要通过在首页链接中加入rel="external"以重新加载(full reload)一个新的页面来清除URL中的ajax hash.

2) 另外如果你想直接在首页链接中定位到子链接中的某个页面,比如

<a href="details.html#foo">

这个也不能正常工作, 因为jQM目前并不能支持这样的深度链接(deep link)下的内部多页跳转.

最简单的解决方法就是把要跳转的页面都放在index.html中.


注意: 想在跳转页面执行的js脚本,需要放在body中。


regards,

iefreer
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用jquery mobile 点击超链接提示“error loading page” 解决方法 .
HTML5+JS手机web开发之jQuery Mobile初涉
PhoneGap+jQm webapp本地化--摄像头调用和本地数据库
初探Android程序框架PhoneGap - 耗子的博客 - ITeye技术网站
Cordova 3.x 基础(9)
网站建设中合理命名DIV+CSS使网站更利于SEO
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服