是否可以限制 WebViews,以便当您假设网站有一个 webview 但您只希望该视图坚持到该页面并且仅该页面?
很好的例子是我有一个跟随标签的 twitter WebView。我只是希望用户能够关注该标签,而不能更深入地了解 Twitter 的内容。
已经是预设链接了
Button--> opens web view with set link to twitter.
所以必须在媒体上进行某种检查,或者像我想的那样。
是否可以限制 WebViews,以便当您假设网站有一个 webview 但您只希望该视图坚持到该页面并且仅该页面?
很好的例子是我有一个跟随标签的 twitter WebView。我只是希望用户能够关注该标签,而不能更深入地了解 Twitter 的内容。
已经是预设链接了
Button--> opens web view with set link to twitter.
所以必须在媒体上进行某种检查,或者像我想的那样。
像这样的事情应该这样做。
myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("somedomain.com")) {
view.loadUrl(url);
}
return true;
}
});
事实上,以上是一个很好的解决方案,但如果你想要一个精致的解决方案。试试这个。我不知道这是否适合您的查询。玩这个。
webview.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if(!url.equals("your_domain_name.com/")){
setResult(RESULT_OK);
finish();
}
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(!url.equals("your_domain_name.com/")){
finish();
}
}
@Override
public void onTooManyRedirects(WebView view, Message cancelMsg,
Message continueMsg) {
super.onTooManyRedirects(view, cancelMsg, continueMsg);
cancelMsg.sendToTarget();
}
}