当前位置:  开发笔记 > 编程语言 > 正文

Android WebView + loadUrl与javascript + onPageFinished =滞后

如何解决《AndroidWebView+loadUrl与javascript+onPageFinished=滞后》经验,为你挑选了0个好方法。

我有WebView加载一些页面,当它完成时我应用一些javascript魔法来搞乱DOM.一切都很好,页面加载,onPageFinished我只是打电话wv.loadUrl(javascript);

但我不想看到加载过程,以及javascript如何工作,我只需要结果,所以我wv.setVisibility(View.INVISIBLE);从一开始就使我的视图不可见,并在完成所有操作后再次显示它.这就是问题发生的地方.

这段代码应该在javascript完成后使视图可见,但wv.setVisibility(View.VISIBLE)在javascript之前触发.所以有一会儿我看到了页面以及如何通过javascript更改它.这只是丑陋的.

  public void onPageFinished (WebView view, String url) {
         wv.loadUrl(javascript);
         view.getSettings().setLoadsImagesAutomatically(true);
         wv.setVisibility(View.VISIBLE);

    }

我得到了loadUrl的异步工作,所以我尝试用另外的"make first view visible"方法制作另一个WebViewClient onPageFinished,并用它来调用JS.但它只是随着NPE错误而崩溃.

wv2.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished (WebView view, String url) {
     wv.setVisibility(View.VISIBLE);
}
});

现在我只是在javascript(SystemClock.sleep(5000))之后添加延迟,但这就像..是的.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有