2013-04-16 49 views
0

我使用phonegap在我的應用程序中開發我的android應用程序有一個html5頁面,它有一些輸入文本字段和一個提交按鈕。使用Phonegap檢查webview內部的html5組件可見性

當用戶在文本字段中輸入值並單擊提交時,它將調用ajax並獲得良好的用戶體驗我通過點擊提交按鈕後可見div從java腳本中顯示進度微調器。

在我的MainActivity java類中,我重寫了onBackPressed方法,它將在退出應用程序之前顯示一個確認對話框。現在我想要的是,當html5頁面正在進行時,意味着進度圖像的div是可見的我想阻止後退鍵被按下,但我的問題是如何識別java類中該div的可見性,所以當div可見時我們可以在java活動中阻止它,否則我們允許用戶通過顯示確認對話框來退出。

電話缺口中是否有內置功能可用,或者我們需要自己做些什麼?

回答

0

那麼根據這個Link PhoneGap有一個API來處理後退鍵事件。 所以你可以在你的java腳本代碼中使用一個私有字段,它將設置一個標誌爲可見或不可見(布爾),並相應地處理後退鍵事件。

僞代碼將是這個樣子:

<script type="text/javascript" charset="utf-8"> 
    var visible = false; 
// Call onDeviceReady when Cordova is loaded. 
// 
// At this point, the document has loaded but cordova-2.6.0.js has not. 
// When Cordova is loaded and talking with the native device, 
// it will call the event `deviceready`. 
// 
function onLoad() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
} 
function onBackKeyDown() { 
    if(visible) { 
    //wait 
    } else { 
     //finish 
    } 
} 
function showDialog(){ 
    visible = true; 
// your code 
} 
// Cordova is loaded and it is now safe to make calls Cordova methods 
// 
function onDeviceReady() { 
    document.addEventListener("offline", onOffline, false); 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 

// Handle the offline event 
// 
function onOffline() { 
} 

</script> 
+0

我曾嘗試它工作正常的設備上,但一些設備上的應用越來越崩潰的同時按後退按鈕。所以如果我們有本地通話來處理它會更好。 – pyus13