![](/img/trans.png)
[英]how to remove focus on tab key press on the close button on jquery dialog
[英]How to close html dialog in Android on press of back key
我已經在Android中創建了一個Web視圖,其中正在加載我的html文件。單擊按鈕時,我會顯示一個彈出窗口,如用HTML本身開發的警報對話框。 現在的問題是,一旦我在Android手機上按返回按鈕,應用程序就會返回到上一頁。但是具有相同的行為,只有對話框應該關閉並且應用程序應該在同一頁面上。 我該如何實現? 謝謝
我認為您不需要JavascriptInterface(如@Henil發布)。 我會這樣做:
在Java中-onBackPressed:
if (webView.getUrl.equals("yourPopupUrl.com")) {
webView.loadUrl("javascript:goAwayPopup();");
return;
}
在JS中:
function goAwayPopup() {
var popUp = document.getElementById("popUp"); // in my case popUp is just a <div>
var isVisible = popUp .offsetWidth > 0 || popUp .offsetHeight > 0;
if (isVisible) {
popUp.style.display = 'none';
}
}
編輯:
使用JavascriptInterface的解決方案:
在JS中-對話框彈出時調用的函數:
function popUp() {
if (typeof Android != "undefined"){
if (Android.popUp!= "undefined") {
Android.popUp();
}
}
}
在Java中:
在您的Activity中定義一個內部類和一個布爾字段
聲明通往您的webview的橋梁
覆蓋onBackPressed
private boolean isPopUpVisible = false;
// some code...
webView.addJavascriptInterface(new MyJavascriptBridge(), "Android");
// some code...
class MyJavascriptBridge {
public void popUp() {
if (isPopUpVisible)
isPopUpVisible = false;
else
isPopUpVisible = true;
}
}
onBackPressed:
if (isPopUpVisible) {
webView.loadUrl("javascript:goAwayPopup();");
return;
}
JS,再次:
function goAwayPopup() {
// close alert here...
popUp(); // sets isPopUpVisible to false
}
這是關閉警報的帖子: 如何“自動關閉”警報框
使用Java腳本界面並從該界面處理html頁面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.