嘿傢伙我的問題很簡單,是否有可能限制WebViews,所以當你讓我們說一個webview的網站,但你只是希望視圖堅持該頁面,只有該頁面?限制WebView只有一個頁面
很好的例子是我有一個twitter標籤後面的WebView。我只是希望用戶能夠遵循該標籤,無法深入到Twitter的東西。
它已經預先設定的鏈接,
Button--> opens web view with set link to twitter.
因此有某種形式的檢查對新聞界或類似的東西,我認爲。
嘿傢伙我的問題很簡單,是否有可能限制WebViews,所以當你讓我們說一個webview的網站,但你只是希望視圖堅持該頁面,只有該頁面?限制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();
}
}
這將工作,只有當我得到輸入的網址,(抱歉忘了說)。 我沒有,我只有一個按鈕,打開已設置爲Twitter標籤頁的網頁視圖。所以如果檢查不會做任何事情。我需要做一些新聞檢查,我認爲如果有人按鏈接等東西我以某種方式阻止.. – EVX
當有人按鏈接shouldOverrideUrlLoading()將被調用與他們正在嘗試去的網址... – FoamyGuy
是的應該工作,我已經嘗試過,但當我按下鏈接或依此類推時,它仍然去鏈接目的地。 – EVX