android webview onPageFinished从JavascriptInterface重定向到新页面?
获取了一个Web视图,加载了一个页面,完成了javascript函数的调用android webview onPageFinished从JavascriptInterface重定向到新页面?,android,webview,Android,Webview,获取了一个Web视图,加载了一个页面,完成了javascript函数的调用 但是,当我尝试将browser.loadUrl加载到新页面时,此操作不起作用 加载此文件后,如何更改webview的当前页面 代码: browser=(WebView)findviewbyd(R.id.w1); browser.getSettings().setJavaScriptEnabled(true); browser.getSettings().setDomStorageEnabled(true); addJa
但是,当我尝试将browser.loadUrl加载到新页面时,此操作不起作用
加载此文件后,如何更改webview的当前页面 代码:
browser=(WebView)findviewbyd(R.id.w1);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setDomStorageEnabled(true);
addJavascriptInterface(这是“HTMLOUT”);
setWebViewClient(新的WebViewClient(){
@凌驾
公共void onPageFinished(WebView视图,字符串url){
browser.loadUrl(“javascript:window.HTMLOUT.processHTML(“”+document.getElementsByTagName('html')[0]。innerHTML+“”);”;
}
});
browser.loadUrl(“第1页”);
@JavascriptInterface
公共空处理html(字符串html){
if(html==null)
返回;
loadUrl(“page2”);这里有一些建议,希望对您有所帮助
您应该在onPageFinished中使用view.loadUrl
为了避免无限次重新加载页面,您应该在onPageFinished中检查url
下面是一个粗略的示例(不加载javascript),有时onPageFinished可能需要时间加载,请稍等片刻
WebView browser = new WebView(MainActivity.this);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setDomStorageEnabled(true);
browser.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(!url.contains("google")){
Log.i("test", "onPageFinished, reload another");
view.loadUrl("https://www.google.com");
}
}
});
browser.loadUrl("https://www.yahoo.com");
WebView browser = new WebView(MainActivity.this);
browser.getSettings().setJavaScriptEnabled(true);
browser.getSettings().setDomStorageEnabled(true);
browser.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(!url.contains("google")){
Log.i("test", "onPageFinished, reload another");
view.loadUrl("https://www.google.com");
}
}
});
browser.loadUrl("https://www.yahoo.com");