4

是否可以限制 WebViews,以便当您假设网站有一个 webview 但您只希望该视图坚持到该页面并且仅该页面?

很好的例子是我有一个跟随标签的 twitter WebView。我只是希望用户能够关注该标签,而不能更深入地了解 Twitter 的内容。

已经是预设链接了

Button--> opens web view with set link to twitter.

所以必须在媒体上进行某种检查,或者像我想的那样。

4

2 回答 2

4

像这样的事情应该这样做。

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;
  }
});
于 2012-11-19T03:52:58.097 回答
1

事实上,以上是一个很好的解决方案,但如果你想要一个精致的解决方案。试试这个。我不知道这是否适合您的查询。玩这个。

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();
        }

    }
于 2012-11-19T04:15:18.433 回答