`

关于在phonegap中使用jquery mobile的一个小问题。

 
阅读更多

其实这个事情本身和phonegap没有什么关系,不过是我在使用phonegap的过程中碰到的而已。er问题是这样的,我在本地(assets/www目录)定义了一个htm,其中代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=10, minimum-scale=1, width=device-width, height=device-height" />
    
        <link rel="stylesheet" href="jquery.mobile-1.3.0.css" />
        <link rel="stylesheet" href="jquery.mobile.structure-1.3.0.css" />
        <link rel="stylesheet" href="jquery.mobile.theme-1.3.0.css" />
            
        <script src="jquery.mobile-1.3.0.js"></script>
        <script type="text/javascript" src="cordova-2.4.0.js"></script>
    </head>
    <body>        
        <!-- Start of first page: #one -->
        <div data-role="page" id="one">
        
            <div data-role="header">
                <h1>Multi-page</h1>
            </div><!-- /header -->
        
            <div data-role="content" >  
                <h2>One</h2>
                
                <p>I have an <code>id</code> of "one" on my page container. I'm first in the source order so I'm shown when the page loads.</p> 
                
                <p>This is a multi-page boilerplate template that you can copy to build your first jQuery Mobile page. This template contains multiple "page" containers inside, unlike a <a href="page-template.html"> single page template</a> that has just one page within it.</p>  
                <p>Just view the source and copy the code to get started. All the CSS and JS is linked to the jQuery CDN versions so this is super easy to set up. Remember to include a meta viewport tag in the head to set the zoom level.</p>
                <p>You link to internal pages by referring to the <code>id</code> of the page you want to show. For example, to <a href="#two" >link</a> to the page with an <code>id</code> of "two", my link would have a <code>href="#two"</code> in the code.</p>   
        
                <h3>Show internal pages:</h3>
                <p><a href="#two" data-role="button">Show page "two"</a></p>    
                <p><a href="#popup" data-role="button" data-rel="dialog" data-transition="pop">Show page "popup" (as a dialog)</a></p>
            </div><!-- /content -->
            
            <div data-role="footer" data-theme="d">
                <h4>Page Footer</h4>
            </div><!-- /footer -->
        </div><!-- /page one -->
        
        
        <!-- Start of second page: #two -->
        <div data-role="page" id="two" data-theme="a">
        
            <div data-role="header">
                <h1>Two</h1>
            </div><!-- /header -->
        
            <div data-role="content" data-theme="a">    
                <h2>Two</h2>
                <p>I have an id of "two" on my page container. I'm the second page container in this multi-page template.</p>   
                <p>Notice that the theme is different for this page because we've added a few <code>data-theme</code> swatch assigments here to show off how flexible it is. You can add any content or widget to these pages, but we're keeping these simple.</p>  
                <p><a href="#one" data-direction="reverse" data-role="button" data-theme="b">Back to page "one"</a></p> 
                
            </div><!-- /content -->
            
            <div data-role="footer">
                <h4>Page Footer</h4>
            </div><!-- /footer -->
        </div><!-- /page two -->
        
        
        <!-- Start of third page: #popup -->
        <div data-role="page" id="popup">
        
            <div data-role="header" data-theme="e">
                <h1>Dialog</h1>
            </div><!-- /header -->
        
            <div data-role="content" data-theme="d">    
                <h2>Popup</h2>
                <p>I have an id of "popup" on my page container and only look like a dialog because the link to me had a <code>data-rel="dialog"</code> attribute which gives me this inset look and a <code>data-transition="pop"</code> attribute to change the transition to pop. Without this, I'd be styled as a normal page.</p>      
                <p><a href="#one" data-rel="back" data-role="button" data-inline="true" data-icon="back">Back to page "one"</a></p> 
            </div><!-- /content -->
            
            <div data-role="footer">
                <h4>Page Footer</h4>
            </div><!-- /footer -->
        </div><!-- /page popup -->

    </body>
</html>

 熟悉jquery mobile的同学很容易看出来就是一个demo例子,其中包含了三个"page"。

 

理论上讲,当我用phonegap把这个程序部署到手机上的时候,应该会默认显示第一个page,但是诡异的是我碰到两个错误:

  1. 从android logcat中看到一个error,提示jquery中抛出了一个typeerror,提示无法初始化$.mobile
  2. 莫名其妙的三个“page”都显示出来了

这个问题我纠结了好久,因为我在网上找到的绝大部分jquery的demo都是这么写的。后来终于发现了问题,在引用js的时候,不能仅仅引用jquery.mobile-1.3.0.js(所以尼嘛这个名字起的太有歧义了),而且必须引用jquery下载包中的jquery.js (尼嘛在demo目录下)

 

因为在看jquery mobile,不能不吐槽一下,对于我这样的纯新手(javascript生手+jquery新手),想要快速的开发一个基于jquery mobile的应用,有点儿老虎吃乌龟-无从下口的感觉, 文档还是硬伤啊。

分享到:
评论

相关推荐

    PhoneGap+Jquery mobile

    在实际开发中,PhoneGap和jQuery Mobile的结合使用流程如下: 1. **环境配置**:首先,你需要安装PhoneGap CLI(命令行工具),并确保本地已经安装了Node.js和Git。然后,根据目标平台安装相应的SDK,如Android ...

    phoneGap jqueryMobile demo

    在"phoneGap jqueryMobile demo"这个项目中,SmartHome可能是示例应用的名字,可能包含了一系列使用PhoneGap和jQuery Mobile创建的文件,用于展示如何将两者结合使用来开发一个智能家居控制应用。开发者可能使用HTML...

    android+phonegap+jquery mobile

    这个项目标题揭示了一个使用三种技术栈构建的移动应用程序:Android、PhoneGap和jQuery Mobile。Android是Google主导的开源操作系统,主要用于智能手机和平板电脑;PhoneGap是一个开放源代码框架,允许开发者使用...

    phonegap+jqueryMobile例子

    在这个“phonegap+jqueryMobile例子”中,我们将深入探讨这两个工具如何协同工作,以及如何利用它们创建Android应用程序。 PhoneGap是一个开源框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用。...

    jquery mobile + 百度地图 + phonegap 写的一个\"校园助手\"的app

    本项目“校园助手”利用了jQuery Mobile、百度地图API以及PhoneGap这三者的技术优势,为用户提供了一个便捷的校园生活服务应用。本文将详细解析这一应用的实现过程,帮助开发者了解如何整合这些工具来创建实用的应用...

    PhoneGap wp7 JQuery Mobile 中文手册

    压缩文件包含PhoneGap wp7, JQuery Mobile 中文手册,PhoneGap1.3 它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外...

    PhoneGap+Jquery mobile汇率计算器

    在这个"PhoneGap+jQuery Mobile汇率计算器"项目中,首先,我们需要创建一个基本的HTML结构,包含必要的页面元素,如输入框(用于输入金额)、下拉菜单(选择货币类型)、按钮(执行计算)以及显示结果的区域。...

    html5讲义-整合phonegap和jquery mobile

    文档中提到了几个快速整合PhoneGap和jQuery Mobile的例子,这些例子可以为开发者提供参考,帮助他们理解如何将两者整合起来,以及如何在开发中应用这一整合技术。 6. PhoneGap安装和平台支持 文档中提到了如何安装...

    android PhoneGap JQuery Mobile Demo

    PhoneGap和JQuery Mobile是移动应用开发中的两个关键框架,它们结合使用可以帮助开发者构建跨平台的原生感观的移动应用程序。PhoneGap是Adobe提供的一个开源框架,它允许使用HTML、CSS和JavaScript来构建移动应用,...

    jQuery Mobile快速入门完整版.pdf + 所有源码

    通过本书的学习,读者将会获悉jQuery Mobile的核心特性,以及如何创建可主题化的设计,还会掌握jQuery Mobile的API,以及如何使用PhoneGap来扩展jQuery Mobile。 《jQuery Mobile快速入门》适合想要掌握jQuery ...

    Html5 phonegap结合Jquerymobile资源

    jQuery Mobile则是一个轻量级的前端框架,专为触摸优化的移动Web界面设计。 首先,HTML5带来了许多新特性,如离线存储(Application Cache)、本地存储(localStorage)、Geolocation(地理位置)、Canvas绘图、SVG...

    使用jQuery Mobile + PhoneGap 开发Android应用程序

    使用jQuery Mobile + PhoneGap 开发Android应用程序

    PhoneGap+jQueryMobile开发Android应用实例

    PhoneGap+jQueryMobile开发Android应用实例,搭建开发环境

    【叨、校长】PhoneGap+jQuery Mobile+Rest 访问远程数据

    在移动应用开发中,PhoneGap是一个流行的框架,它允许开发者使用HTML、CSS和JavaScript来构建跨平台的原生移动应用。jQuery Mobile则是一个专为触摸设备设计的前端框架,提供了一套响应式布局和交互组件。而REST...

    用PhoneGap+jQueryMobile开发Android应用实例

    用PhoneGap+jQueryMobile开发Android应用实例,很好的android开发学习教材。

    jQuery Mobile快速入门 源码 SourceCode

    通过本书的学习,读者将会获悉jquerymobile的核心特性,以及如何创建可主题化的设计,还会掌握jquerymobile的api,以及如何使用phonegap来扩展jquery mobile。  《jquery mobile快速入门》适合想要掌握jquerymobile...

    android phonegao jquery mobile条码扫描例子源码

    为了在PhoneGap应用中使用ZXing进行条码扫描,开发者通常需要创建一个WebView,加载包含jQuery Mobile页面的Web工程。在Web页面中,可以通过JavaScript调用PhoneGap的插件接口,这些接口会映射到Android端的Java代码...

    PhoneGap与android交互及 JQuery Mobile+ iscroll 列表滚动条的实现

    在JQuery Mobile中,当列表项过多时,可能会遇到滚动性能问题,特别是在移动设备上。iScroll可以提供更流畅的滚动体验,因为它优化了滚动事件的处理,支持触摸滚动,并且可以处理固定头部和尾部的布局。 在实现...

    phonegap+jqueryMobilejs源码项目

    PhoneGap和jQuery Mobile是移动应用开发中的两个重要工具,它们结合使用可以构建跨平台的、交互性强的移动应用程序。在本项目中,我们将探讨如何利用这两个技术栈来创建原生感十足的移动应用。 PhoneGap,现在也被...

Global site tag (gtag.js) - Google Analytics