2013-02-19 30 views
1

我試圖找出如何得到一個加速度計例如在iPad上工作使用本地網絡服務器和CordovaBrowser應用程式iOS版。CordovaBrowser應用的iOS - 入門插件例如

我相信CordovaBrowser應用程序會將所有插件內置到本機託管應用程序中,我所需要做的就是包含cordova.ios.js,並且所有插件都可用。

當我從CordovaBrowser應用內瀏覽到的頁面,我只是得到輸出指示navigator.accelerometernull

下面是HTML:

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>PhoneGap</title> 
    <script src="js/cordova.ios.js"></script> 
    <script src="Scripts/jquery-1.9.1.js"></script> 
    <script src="ts/app.js"></script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div id="Output"> 
    </div> 
    </form> 
</body> 
</html> 

這裏是app.js:

$(function() { 
    var output = $('#Output'); 

    try { 
     output.text('Loading ...'); 

     if(navigator) { 
      output.text('Loaded Navigator ...'); 
     } 

     if(navigator.accelerometer) { 
      output.text('Loaded Accelerometer ...'); 
     } 

     var watchID = navigator.accelerometer.watchAcceleration(function (acceleration) { 
      output.text('Acceleration X: ' + acceleration.x + ', ' + 
       'Acceleration Y: ' + acceleration.y + ', ' + 
       'Acceleration Z: ' + acceleration.z + ', ' + 
       'Timestamp: ' + acceleration.timestamp); 
     }, function() { 
      output.text('Error!'); 
     }, { 
      frequency: 300 
     }); 
    } catch (e) { 
     alert(e); 
    } 
}); 

所有引用的JS文件被正確加載。還有其他什麼缺失?

有一個在應用程序的支持站點很少活動 - 這是一個重定向到GitHub上。根據唯一的問題,該GitHub僅適用於Android,不適用於iOS版本。它可能只是一個新應用程序中的一個錯誤,但也可能是PhoneGap開發有很多陷阱。

我會用別的東西,承諾對任意文件的適當的PhoneGap環境。我使用了去年發佈的名爲Hyperlab的應用程序,它非常酷,但它不適用於iPad,有一些怪癖,並且沒有看到任何更新。

我沒有/想在Mac,我不想支付$ 99這傻瓜。也許以後,如果我們決定走PhoneGap開發原生應用的路線。蘋果是荒謬的。

+0

主要是因爲我是誰沒仔細看白癡。 Mea culpa。現在,我看到「CordovaBrowser」,我想知道該應用是否已更新爲iOS 6支持。 – 2013-02-20 15:35:01

+0

順便說一句,這是第一代iPad(我猜),它的更新最多在iOS 5.1上。1 – 2013-02-20 16:09:12

回答

0

您應該添加一個事件偵聽器deviceready事件,然後從那裏開始:

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

function onDeviceReady() { 
    // Now safe to use the Cordova API 
} 

注意:如果你沒有一臺Mac,或者你不能對此進行測試在實際設備上,你可以使用Chrome調試並測試它並使用chrome工具來更改加速度計值。 步驟:

1右鍵單擊頁面,然後單擊檢查元素

2-右側角球選擇設置

3-選擇覆蓋,並覆蓋設備的方向

注意:如果您使用的是Chrome,裝置就緒事件將不會被調用,所以你應該調用它的頁面加載

+0

我剛纔試過的頂級函數定義傳遞給'document.addEventListener(「deviceready」,......,假)',而不是'$(...)'但是'deviceready'似乎永遠火。 (同樣,這是在CordovaBrowser測試工具的應用程序,在被忽視的情況下。) – 2013-02-27 19:55:26

+0

林不知道的「CordovaBrowser測試實用程序」是如何工作的,儘量鉻,看看你是否有任何JavaScript的問題/錯字 – 2013-02-27 21:48:38

+0

如果你可以調用onDeviceReady然後就沒有navigator.accelerometer,我懷疑,如果應用程序有加<插件名稱=「加速度」值=「CDVAccelerometer」 />對config.xml – Horst 2013-02-28 03:44:59

-1

Cordova Accelerometer取決於cordova庫插件,該插件僅與本機應用程序一起安裝。在Safari中加載JS不會有相同的效果。您將不得不使用iOS設備支持的公共JS API。我有found one,適用於我的iPad。

+0

我不是將它們載入Safari瀏覽器,我將它們載入名爲CordovaBrowser的應用程序。據說這是爲了充分獲得了PhoneGap的API,因爲它做廣告。 – 2013-02-19 23:14:57