2012-07-16 90 views
-1

的PhoneGap 1.8.1 - 2.2 Android的API - 的jQuery 1.7.1 - jQueryMobile 1.0的PhoneGap,機器人,後退按鈕:不能使它工作

我做了一個非常簡單的應用程序來測試這個我只是無法讓它工作。這裏是。

INDEX.HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
     "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <title>TestApp</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="jquery.mobile-1.1.0/jquery.mobile-1.1.0.min.css"/> 
    <script type="text/javascript" src="jquery.min.js"></script> 
    <script type="text/javascript" src="jquery.mobile-1.1.0/jquery.mobile-1.1.0.min.js"></script> 
    <script type="text/javascript"> 
     function onDeviceReady() { 

      document.addEventListener("backbutton", onBackButton); 
     } 

     function onBackButton(e){ 
      console.log("C'mon guv! Gimme a chance!"); 
     } 

     document.addEventListener("deviceready", onDeviceReady, false); 

    </script> 
    <script type="test/javascript" src='cordova-1.8.1.js'></script> 

</head> 

<body> 
<div id="homepage" data-role="page" data-theme="a"> 
    <div data-role="header"> 
     <h1>Work with me here</h1> 
    </div> 

    <div data-role="content"> 
     I am page 1. 
     <a href="#char-1" data-role="button">Next</a> 
    </div> 
</div> 

<div id="char-1" data-role="page" data-theme="a"> 
    <div data-role="content">HAHAHA!</div> 
</div> 


</body> 
</html> 

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example" 
      android:versionCode="1" 
      android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="2" android:targetSdkVersion="14"/> 
    <supports-screens 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true" 
     android:resizeable="true" 
     android:anyDensity="true" /> 

    <application android:label="@string/app_name"> 
     <activity android:name="MyActivity" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

增編 - 我認爲問題是, 'deviceready' 事件或者不閃光或代碼之前大火結合到事件。不知道如何解決它。

讓我知道是否有更多的信息我需要提供..我很難過。

回答

1

我很慚愧地承認這一點。

<script type="test/javascript" src='cordova-1.8.1.js'></script> 

這不是測試/ JavaScript ...這是文本/ JavaScript。

:(

+0

也可能在時間軸上裝得太遲。 – 2013-12-09 07:02:25

1

據我所知,後退按鈕事件不在onDeviceReady內工作。您必須在每個頁面展示中觸發事件。就我而言,它是這樣工作的,

function onDeviceReady(){ 
    /*Back event handler for all pages navigation*/ 
    $(document).bind ('pageshow', function (e, data) { 
     if ($.mobile.activePage.attr('id') == 'index') { 
      document.addEventListener("backbutton", function() { 
       setTimeout(function() {navigator.app.exitApp();}, 100); 
      }, true); 
     } 
     else{ 
      document.addEventListener("backbutton", function() { 
       setTimeout(function() {$.mobile.changePage("#index");}, 100); 
      }, true); 
     } 
    }); 


} 

在我的應用程序,當你從第一屏幕按後退按鈕,它退出應用程序,如果你按下任意頁面裏面,它會自動來到第一頁。

+0

我寫了這個:https://gist.github.com/3129987和我沒有得到它的工作:/ – Trevoke 2012-07-17 15:21:42

+0

老兄,你在你的代碼錯過的PhoneGap是JS不是?。 – Akilan 2012-07-18 04:47:53

+0

?它低於代碼位 – Trevoke 2012-07-18 05:49:41