Webview 导航返回错误 url
Webview navigation returning wrong url
我有一个看起来像这样的网络视图
WebView webview = new WebView(this);
setContentView(webview);
webview.loadUrl("https://myurl.com/");
webview.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Toast.makeText(LoginActivityWebView.this, url, Toast.LENGTH_SHORT).show();
return false;
}
}
当我将 URL 更改为 google 时,一切正常,我可以导航到不同的站点并且一切正常。
当我输入我的 URl 时,它应该 link 到我的 url2,但是当我点击它时,toast 打印我的url 而不是页面突出重新加载(没有帮助!)。
知道这是怎么发生的以及 shouldOverrideUrlLoading 从哪里得到它的 url 吗?
如果我在浏览器中加载我的 url 并且用户单击一个按钮,那么它可以正常工作。
如果我在网络视图中加载我的url,但在按下 link 时打开浏览器,那么当按下 link 时它会打开我的url在浏览器中,如果您再次单击该按钮,它会正确打开 myurl2(超级奇怪)。
有什么想法吗?
您可以从
获取加载的 URL
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
// do your stuff here
}
});
如果 URL 在 Chrome 中正常打开,您应该考虑将 webView.getSettings().setJavaScriptEnabled(true)
添加到您的代码中,然后重试。
我有一个看起来像这样的网络视图
WebView webview = new WebView(this);
setContentView(webview);
webview.loadUrl("https://myurl.com/");
webview.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Toast.makeText(LoginActivityWebView.this, url, Toast.LENGTH_SHORT).show();
return false;
}
}
当我将 URL 更改为 google 时,一切正常,我可以导航到不同的站点并且一切正常。
当我输入我的 URl 时,它应该 link 到我的 url2,但是当我点击它时,toast 打印我的url 而不是页面突出重新加载(没有帮助!)。
知道这是怎么发生的以及 shouldOverrideUrlLoading 从哪里得到它的 url 吗?
如果我在浏览器中加载我的 url 并且用户单击一个按钮,那么它可以正常工作。
如果我在网络视图中加载我的url,但在按下 link 时打开浏览器,那么当按下 link 时它会打开我的url在浏览器中,如果您再次单击该按钮,它会正确打开 myurl2(超级奇怪)。
有什么想法吗?
您可以从
获取加载的 URLmWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
// do your stuff here
}
});
如果 URL 在 Chrome 中正常打开,您应该考虑将 webView.getSettings().setJavaScriptEnabled(true)
添加到您的代码中,然后重试。