`

phonegap js 和 本地代码 调用原理

 
阅读更多

转自:http://www.cnblogs.com/comsokey/archive/2012/12/20/phonegap.html

 

 

iOS通过让本地代码拦截JavaScript中调用的window.location=”gap://Class.method/args”命令,来实现从JavaScript到本地代码之间的通信。在本地代码拦截该命令后,解析获取的参数,然后调用对应的类、方法并传递参数。对应的,使用UIWebView.stringByEvaluatingJavaScriptFromString来实现本地代码调用JavaScript。

Android通过拦截JavaScript的prompt命令实现从JavaScript到本地代码的通信。JavaScript prompt命令默认会弹出对话框,而PhoneGap的Android本地代码会拦截该对话框,并进一步取得JavaScript数据。相应的,Android上的PhoneGap内部,使用Java实现了一个HTTP服务器,通过持久性的XHR连接,JavaScript可以不断轮询内部XHR服务器存储的信息,从而实现了从Java到JavaScript方向的通信。

BlackBerry 4.xJavaScript与本地代码之间的唯一通信方式是通过document.cookie实现的。JavaScript设定Cookie,本地代码从Cookie中获取信息。对应的,本地代码也可以设定Cookie,允许JavaScript从Cookie中获取本地代码信息。

BlackBerry WebWorks新的BlackBerry WebWorks SDK更好地支持了Java与JavaScript之间的交互通信。通过ScriptEngine.addExtension,Java对象可以被暴露给JavaScript,而对应的Java可以使用ScriptEngine.executeScript来调用JavaScript。

Windows Phone 7在Windows Phone 7中,JavaScript通过window.external.Notify可以将信息发送给本地代码。而相应的,WebBrowser.InvokeScript允许本地代码调用JavaScript。

 

分享到:
评论

相关推荐

    PhoneGap开发者指南源码

    2. **桥接机制**:JavaScript代码通过WebView与设备的本地功能通信,这种通信通过Cordova的桥接机制实现,使得Web应用能够访问和控制设备功能。 3. **生命周期管理**:PhoneGap处理应用的生命周期事件,如启动、暂停...

    phonegap源码+示例

    这个资源包含PhoneGap的源代码,版本为Cordova2.9,以及相关的示例程序,这为我们深入理解PhoneGap的工作原理和开发流程提供了宝贵的材料。 Cordova2.9是PhoneGap的一个重要版本,它在那时提供了对多种移动操作系统...

    PhoneGap例子

    在"PhoneGap例子"这个主题中,我们将深入探讨如何利用PhoneGap和Cordova进行移动应用开发,以及如何自定义插件并调用本地的native方法。 首先,让我们理解PhoneGap的工作原理。PhoneGap将Web应用程序封装在一个移动...

    深入浅出 phonegap 代码

    本资料包“深入浅出 PhoneGap 代码”显然旨在帮助开发者更全面地理解PhoneGap的工作原理和实际应用。 PhoneGap 的核心组件包括: 1. **Cordova**: PhoneGap 基于 Apache Cordova,这是一个开源的移动设备API库,它...

    PhoneGap实例

    通过学习和分析`phonegap100_apidemo`中的代码,开发者不仅能理解PhoneGap的工作原理,还能掌握如何将这些技术应用到实际项目中,从而构建出功能丰富的跨平台移动应用。在实践中,不断调试和优化这些示例,有助于...

    phonegap 安卓

    在这个过程中,PhoneGap提供了API接口,这些接口是JavaScript和Android原生代码之间的桥梁,使得JavaScript能够调用设备的硬件特性,如摄像头、GPS、加速计等。 在Android应用开发中,PhoneGap的结构通常包括以下几...

    PhoneGap demo

    这个"PhoneGap demo"作为一个实际案例,可以帮助开发者理解PhoneGap的工作原理,学习如何将Web技术应用于移动开发,同时也可以借鉴其设计和实现方式,提升自己的开发技能。尽管对于初学者来说可能有一定难度,但它...

    phonegap开发示例服务器端开发

    PhoneGap通过封装和扩展各个平台的WebView,使得JavaScript可以直接调用设备功能,从而实现了混合应用的开发。 在开发PhoneGap应用时,首先需要搭建开发环境。这包括以下几个步骤: 1. 安装Java SDK:Java SDK是...

    phonegap2.9.1源码和demo

    在描述中提到的"源码和测试demo",意味着这个压缩包包含了PhoneGap 2.9.1的源代码以及一些示例应用,这对于开发者深入理解PhoneGap的工作原理、调试和定制PhoneGap非常有帮助。源代码可以让你看到PhoneGap如何将Web...

    PhoneGap+Jquery mobile

    1. **环境配置**:首先,你需要安装PhoneGap CLI(命令行工具),并确保本地已经安装了Node.js和Git。然后,根据目标平台安装相应的SDK,如Android Studio或Xcode。 2. **创建项目**:使用PhoneGap CLI创建新项目,...

    安卓和html5的交互,phonegap

    【安卓与HTML5交互:PhoneGap技术详解】 在当今移动应用开发领域,PhoneGap作为一种混合应用开发框架,凭借其独特的...通过理解其工作原理和实践技巧,开发者可以充分利用这一工具,创造出更多创新且功能丰富的应用。

    phonegap-2.1.0

    PhoneGap 是一个开源框架,它允许开发者使用标准的 web 技术,如 HTML、CSS 和 ...随着技术的发展,PhoneGap 后续版本增加了更多功能和优化,但这个版本仍然对于了解 PhoneGap 的历史和基本工作原理具有参考价值。

    phoneGap实例

    jQuery作为JavaScript库,简化了DOM操作、事件处理和动画效果,使得代码编写更为简洁高效。 在"phoneGap实例"中,你可能会找到以下几类常见示例: 1. **基本应用结构**:如何设置PhoneGap项目的基本结构,包括配置...

    PhoneGap HelloWorld

    1. **本地API访问**:PhoneGap通过JavaScript接口提供了对设备硬件功能的访问,如摄像头、地理位置、加速计、联系人列表、声音和振动等,使Web应用能够利用这些功能。 2. **设备适配**:PhoneGap允许开发者编写一次...

    phonegap 1.4.1

    3. **本地化存储**:PhoneGap支持WebSQL数据库和localStorage,使得应用可以在离线状态下仍能存储和读取数据。 4. **回调函数**:在"callback-phonegap-0d1f305"这个文件名中,“callback”可能指的是PhoneGap中的...

    phoneGapphoneGap

    PhoneGap是一种开源框架,它允许开发者使用Web技术(如HTML5、CSS3和JavaScript)来构建跨平台的移动应用程序。这个框架的核心理念是利用现有的Web开发技能,将它们应用于移动设备,从而实现跨平台的移动应用开发。...

    phonegap-phonegap-1.8.1-0-gce32a3f.zip

    PhoneGap是Adobe开发的一款开源框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序...尽管现在的PhoneGap已经更新到更高版本,但这个旧版本仍然对理解PhoneGap的历史和工作原理有着重要的参考价值。

    PhoneGap简报

    PhoneGap的最大优势在于它能够调用智能手机的各种原生功能,包括但不限于摄像头、地理位置、加速度传感器、文件管理、联系人、指南针、推送服务和存储等。此外,PhoneGap还拥有一个庞大的插件生态系统,使得开发者...

    Phonegap Beginner’s Guide源码

    本书“Phonegap Beginner’s Guide”旨在引导初学者入门PhoneGap开发,通过源码学习,我们可以更深入地理解其工作原理和应用实践。 1. **PhoneGap环境搭建** 在开始任何开发之前,首先需要安装PhoneGap的开发环境...

    PhoneGap Beginner's Guide.pdf

    - 安装Node.js:PhoneGap依赖于Node.js环境,因此首先需要安装Node.js。 - 安装PhoneGap CLI:通过命令行工具安装PhoneGap,便于管理和构建项目。 - 配置开发环境:根据所开发的应用程序的目标平台,可能还需要...

Global site tag (gtag.js) - Google Analytics