事件类型:
- 当用户在Android系统上点击后退按钮的时候触发此事件。
- document.addEventListener("backbutton", yourCallbackFunction, false);
详述:
- 如果你需要在Android系统上重载默认后退按钮的行为,可以通过注册一个事件监听器来监听“backbutton”事件。它不再需求调用任何其他方法来重载后退按钮行为,现在你只需要为“backbutton”事件注册一个事件监听器。
- 通常情况下,你需要在接收到PhoneGap的“deviceready”事件后,使用document.addEventListener来附加该事件监听器。
支持的平台:
- Android
简单的范例:
- document.addEventListener("backbutton", onBackKeyDown, false);
- function onBackKeyDown() {
- // 处理后退按钮操作
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 会触发“deviceready”事件
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap is loaded and it is now safe to make calls PhoneGap methods
- function onDeviceReady() {
- // 注册回退按钮事件监听器
- document.addEventListener("backbutton", onBackKeyDown, false);
- }
- // 处理后退按钮操作
- function onBackKeyDown() {
- }
- </script>
- </head>
- <body>
- </body>
- </html>
- 当PhoneGap被完全加载后会触发该事件。
- document.addEventListener("deviceready", yourCallbackFunction, false);
详述:
- 这是每个PhoneGap应用程序都会用到的重要事件。
- PhoneGap包含两套代码库:本地代码库和JavaScript代码库。当本地代码加载时会显示一个自定义的加载图片,但是,JavaScript只是在DOM加载后就被加载。这潜在的说明用户的Web应用程序可以在PhoneGap加载完成之前调用相应的JavaScript函数。
- PhoneGap一旦完全加载就会触发deviceready事件。当设备触发该事件后,用户就可以安全进行PhoneGap函数调用。
- 通常情况下,你会希望在HTML文件的DOM加载完毕后使用document.addEventListener附加一个事件监听器。
支持的平台:
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
简单的范例:
- document.addEventListener("deviceready", onDeviceReady, false);
- function onDeviceReady() {
- // 现在可以安全使用PhoneGap API
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>PhoneGap Device Ready Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 当PhoneGap加载完毕后调用onDeviceReady回调函数
- // 此时,该文件已加载完毕但phonegap.js还没有加载完毕。
- // 当PhoneGap加载完毕并开始和本地设备进行通讯,
- // 就会触发“deviceready”事件。
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕,现在可以安全地调用PhoneGap方法
- function onDeviceReady() {
- // 现在可以安全使用PhoneGap API
- }
- </script>
- </head>
- <body>
- </body>
- </html>
BlackBerry (OS 4.6) 的特异情况:
- RIM的BrowserField(网页浏览器视图)不支持自定义事件,所以deviceready事件不会被触发。
- 一种解决方法是一直手动查询PhoneGap.available方法直到PhoneGap完全加载完毕。
- function onLoad() {
- // BlackBerry OS 4浏览器不支持自定义事件。
- // 因此通过手动方式等待,直到PhoneGap加载完毕。
- var intervalID = window.setInterval(
- function() {
- if (PhoneGap.available) {
- window.clearInterval(intervalID);
- onDeviceReady();
- }
- },
- 500
- );
- }
- function onDeviceReady() {
- // 现在可以安全地调用PhoneGap API
- }