shouldOverrideUrlLoading()
並不只適用於某些版本的Android的工作,如2.1或2.3.6,但它工作正常2.3.3,2.3.5,4.0.2或4.0.3。
如果您需要處理一下關於web視圖鏈接,您必須使用shouldOverrideUrlLoading()
方法。如果您只需處理加載網頁,則應使用onPageStarted()
。
這是Android開發者聯繫:https://developer.android.com/guide/webapps/migrating.html
注:例如:我們在網頁2個鏈接。
<a href="http://www.w3schools.com/">Visit W3Schools!</a>
<a href="http://www.w3schools.com/" target="_blank">Visit W3Schools!</a>
shouldOverrideUrlLoading()
只呼籲鏈接 「1
」,當用戶點擊。 它不叫上鍊接「2
」
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if (url.contains("success")) {
Intent intent = new Intent(WebviewActivity.this, OrderConfirmActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} else {
super.onPageStarted(view, url, favicon);
}
}
[從花(當用戶點擊http://stackoverflow.com/questions/9670136/shouldoverrideurlloading-gets-called-only-for-some-網頁)。這個問題似乎是js函數setTimeout(fn,millis)。您已經編寫了一個覆蓋它的js函數,然後在您的Android代碼中使用JavascriptInterface重新創建此函數的行爲,因爲它最適合您的應用程序。這取決於你的應用程序功能的很多工作,但它的工作原理。這個想法是重寫setTimeout,然後調用一個方法,從android代碼睡覺的線程多少millis在初始調用setTimeout在js .. –
感謝您的評論。我會試一試;但JavaScript可能不是一個可接受的解決方案。我也看着http://stackoverflow.com/questions/5116909/how-i-can-get-onclick-event-on-webview-in-android – Chaitanya