小编Dr.*_*ins的帖子

通过WebView.loadURL()指定不存在的URL时,WebViewClient.onPageStarted()调用两次

这是我的代码

public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    WebView webView = (WebView)findViewById(R.id.webView);

    // Assign webclient.
    webView.setWebViewClient(new WebViewClient( ) {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            Log.d("TAG", url);
        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Log.d("TAG", "failed: " + failingUrl + ", error code: " + errorCode + " [" + description + "]");
        }
    });


    webView.loadUrl("http://m.vooglemoogle.com" );
}



}
Run Code Online (Sandbox Code Playgroud)

结果如下:

03-29 13:40:27.005: DEBUG/TAG(10948): …
Run Code Online (Sandbox Code Playgroud)

android android-webview webviewclient

13
推荐指数
2
解决办法
2万
查看次数

如果在超时回调中修改"window.location.href",则不执行shouldOverrideUrlLoading(...)

我有一个javascript函数'gotoMainPage()'

function gotoMainPage( ) {
    window.location.href = "main/main.do";
}
Run Code Online (Sandbox Code Playgroud)


现在,shouldOverrideUrlLoading(..)如果gotoMainPage( )由于"直接用户交互"而执行,则会调用WebViewClient ,例如用户单击此div:
<div.... onclick='gotoMainPage();'/>

但是,如果通过setTimeout( gotoMainPage, 100 );或通过XMLHttpRequest回调执行,shouldOverrideUrlLoading(..)则永远不会调用,但请求的页面会被加载到webview.

我错过了一个明显的解释还是这个错误?

任何人?

android webview webviewclient

5
推荐指数
2
解决办法
9004
查看次数

标签 统计

android ×2

webviewclient ×2

android-webview ×1

webview ×1