CordovaWebView 监听加载事件 pageStart

2018-03-09  本文已影响0人  南顾夏浅

在 js 加载完之后,Native才能调到 js 的方法,需要监听 onPageFinish 事件。
一般的 WebView 会有 setWebViewClient 方法来监听加载的事件,但是 CordovaWebView 并没有这个方法。
可以将 CordovaWebView 转化为 SystemWebView

private SystemWebView systemWebView;
protected CordovaWebView webView;
.......
systemWebView = (SystemWebView) webView.getView();
systemWebView.setWebViewClient(new SystemWebViewClient((SystemWebViewEngine) webView.getEngine()) {
            @Override
            public void onPageFinished(WebView view, String url) {
                Log.e("AAA", "page finish");
                super.onPageFinished(view, url);
                //your work here  ,
                 // excute  js
            }

            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                Log.e("AAA", "page start");
                super.onPageStarted(view, url, favicon);
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
              // pop 
                if (url.contains("about:blank")){
                    pop();
                    return true;
                }
                return super.shouldOverrideUrlLoading(view, url);
            }
        });
上一篇下一篇

猜你喜欢

热点阅读