//url確保是以http開頭
private void init(String link) {
setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
mHasPageStarted = true;
mPageUrl = url;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
mHasPageFinished = true;
mPageUrl = url;
}
@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
super.doUpdateVisitedHistory(view, url, isReload);
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (!url.startsWith("http")) {
return true;
}
for (int i = 0; i < mOnWebViewListeners.size(); i++) {
if (mOnWebViewListeners.get(i).shouldOverrideUrlLoading(CrawlWebView.this, url)) {
return true;
}
}
return super.shouldOverrideUrlLoading(view, url);
}
});
setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
mHasLoadedWebViewTitle = true;
mWebViewTitle = title;
notifyOnReceivedTitle();
}
@Override
public void onProgressChanged(WebView view, int newProgress) {
}
@Override
public void onReceivedIcon(WebView view, Bitmap icon) {
super.onReceivedIcon(view, icon);
mHasLoadedWebViewIcon = true;
mWebViewIcon = icon;
}
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
result.cancel();
return true;
}
});
getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
getSettings().setJavaScriptEnabled(true);
getSettings().setDomStorageEnabled(true);
}