Javascript 不应将OverrideUrlLoading称为Webview Android
首先,这篇文章可能看起来像是其他问题的复制品,但我已经研究了很多问题,但发现它们没有帮助。 现在我的问题是,我正在Webview中加载一个URL,然后我想跟踪Webview上每个事件的URL,所以我为Webview设置了WebviewClient,并重写了shouldoverrideurlloading方法,但在第一个事件之后,shouldoverrideurlloading没有被调用。(第一次工作) 以下是我使用的代码:Javascript 不应将OverrideUrlLoading称为Webview Android,javascript,android,android-webview,Javascript,Android,Android Webview,首先,这篇文章可能看起来像是其他问题的复制品,但我已经研究了很多问题,但发现它们没有帮助。 现在我的问题是,我正在Webview中加载一个URL,然后我想跟踪Webview上每个事件的URL,所以我为Webview设置了WebviewClient,并重写了shouldoverrideurlloading方法,但在第一个事件之后,shouldoverrideurlloading没有被调用。(第一次工作) 以下是我使用的代码: wvSecurity = (WebView) findViewB
wvSecurity = (WebView) findViewById(R.id.wvSecurity);
wvSecurity.getSettings().setJavaScriptEnabled(true);
wvSecurity.getSettings().setAllowContentAccess(true);
wvSecurity.getSettings().setAllowUniversalAccessFromFileURLs(true);
wvSecurity.getSettings().setBuiltInZoomControls(false);
wvSecurity.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wvSecurity.getSettings().setLoadWithOverviewMode(true);
wvSecurity.getSettings().setDomStorageEnabled(true);
wvSecurity.loadUrl("URL");
wvSecurity.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view,
final String urlStr) {
Log.i("URL", "::" + urlStr);
return false;
}
}
编辑::
好的,我要跟踪的URL使用POST方法,现在我的问题是如何跟踪POST URL及其数据。还有一件事,我无法访问即将到来的网页,所以我无法使用GET方法。请帮忙 我猜当从页面点击超链接或发生重定向时,会调用此方法。所以要确保这一点。我认为您需要在“url”上传递url,这样才能解决您的问题
wvSecurity = (WebView) findViewById(R.id.wvSecurity);
wvSecurity.getSettings().setJavaScriptEnabled(true);
wvSecurity.getSettings().setAllowContentAccess(true);
wvSecurity.getSettings().setAllowUniversalAccessFromFileURLs(true);
wvSecurity.getSettings().setBuiltInZoomControls(false);
wvSecurity.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wvSecurity.getSettings().setLoadWithOverviewMode(true);
wvSecurity.getSettings().setDomStorageEnabled(true);
wvSecurity.loadUrl("http://www.google.com");
wvSecurity.setWebViewClient(new HelloWebViewClient());
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("URL :: " + url);
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, final String url) {
}
}
在从
shouldOverrideAllowing
返回true
后,您是否尝试过?是的,我尝试过,但没有尝试过。我在每天8-21点尝试过API@GOLDEE抱歉,最后的评论误导了文档。你有什么要求?得到或张贴或其他?另外,你能把所有这些信息都放在问题里,这样我们就不会污染评论了吗?有什么可以抓住帖子的Url吗@RGRAHAMPLESE不要对从shouldOverrideUrlLoading
获取的url调用loadUrl,因为对于具有非https方案的子帧也会调用该回调。如果您转到一个类似于您的代码的页面,那么最终将调用view.loadUrl('tel:1234'),并且您将显示一个错误页面,因为webview不知道如何加载tel:URL。您不应该调用loadUrl(url)并返回true,而应该从shouldOverrideUrlLoading返回false。