我在web視圖中顯示內容。內容從服務器API加載。內容可以包含以下鏈接:Android Webview:如何捕捉點擊給定的本地URL
<a href="#register">Register</a>
我如何能趕上點擊#register。
我可以用一些HTML解析器和追加onClick事件來做到這一點,但更好也更容易將URL更改爲#register。
非常感謝您的任何建議。
編輯:
我嘗試下面的例子,但沒有運氣
browser = (WebView) view.findViewById(R.id.intro_browser);
// Set Chrome instead of the standard WebView
browser.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
Logger.d("TEST");
return true;
}
@Override
public void onLoadResource(WebView view, String url) {
Logger.d("URL IS:");
Logger.d(url);
if (url.startsWith("app://")) {
}
}
});
browser.getSettings().setJavaScriptEnabled(true);
browser.addJavascriptInterface(new WebViewJavaScriptInterface(getContext()),
Constants.Welcome.JAVASCRIPT_NAMESPACE);
//browser.getSettings().setAllowFileAccessFromFileURLs(true);
//browser.getSettings().setAllowUniversalAccessFromFileURLs(true);
browser.loadData(htmlContent, Constants.Welcome.MIME_TYPE, Constants.Welcome.ENCODING);
謝謝,請參閱我的更新問題。 – redrom
如果你這樣寫,並且總是從'shouldOverrideUrlLoading'返回'true',這個頁面永遠不會被加載。爲什麼你沒有完全按照我的回答做? – Karzmu
另外爲什麼你使用'loadData'而不是'loadUrl'? – Karzmu