WebView与JS交互不会执行onPageFinished() -WebView(WebKit)

WebView sample: https://github.com/GoogleChrome/chromium-webview-samples

Android WebView 在开发过程中有哪些坑?->https://www.zhihu.com/question/31316646

> android webkit学习笔记1---url的load过程: http://blog.csdn.net/shadow_dance/article/details/9130317
> WebView与JS交互不会执行onPageFinished() 
 http://stackoverflow.com/questions/12085588/android-how-to-get-redirection-event-in-webview
重写onPageFinished方法,页面加载完了就会调这个方法,然后在这个方法里面调用
webView.loadUrl("<我的js代码>");
主要的问题是服务器做了ssl处理
@Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
//              super.onReceivedSslError(view, handler, error);

                Log.e(TAG, "onReceivedSslError...");
                Log.e(TAG, "Error: " + error);
                handler.proceed();
            }
可能的问题:2.2之前没有这个方法,所以在2.2之前的手机上运行会有问题。还好我们的产品不需要支持2.2。

> Android Webview Java和Javascript安全交互:http://www.open-open.com/lib/view/open1410920879601.html

> web与JS交互感觉没执行JS对象中的方法:http://www.eoeandroid.com/thread-567360-1-1.html?_dsign=465fca50

webView.setWebViewClient(new WebViewClient() {  
            @Override  
            public void onPageFinished(WebView view, String url) {  
                Toast.makeText(WebViewActivity.this, "网页加载完成", 0).show();  
                //隐藏包含id为header的标签之间的内容  
                view.loadUrl("javascript:window.handler.show(document.getElementById('header').style.display='none');");  
                view.loadUrl("javascript:window.handler.show(document.getElementById('footerwrap').style.display='none');");  
//              view.loadUrl("javascript:window.handler.show(document.body.innerHTML);");  
                super.onPageFinished(view, url);  
            }  
        }); 
但是暂时有一个问题,因为在JS中是可以有id重复的现象,这样,通过getElementById就不行
> onPageFinished不能被调用:  http://blog.csdn.net/zhaoweideyouxian/article/details/17188737
> “研究”可以围绕两种方式组织;一种是基础领域,例如机器学习、计算机安全、网络等,这是种重要且有力的研究方式。而在MSRNExT,我们选择了另一种——并非围绕领域,而更聚焦于特定目标和问题。例如我们能消弭网络间用户的语言障碍吗?社交媒体如何保障隐私?是否能开发出新的处理器技术延续摩尔定律?一组研究员围绕这些具体的目标展开研究。
    去年我曾请教Ivan Sutherland如何做出好研究,他说有三个要素:首先要有个好问题,其次需要资金支持,最后,也是最难寻觅的,是需要一位睿智的管理者。


> 还是没有想到解决方案


程序猿必知的Android WebView的几个坑: https://www.douban.com/note/529538454/?type=like
Android性能优化中避免Overdraw的9大技巧: http://www.maiziedu.com/article/10516/
http://www.cnblogs.com/lee0oo0/p/4026774.html: http://www.cnblogs.com/lee0oo0/p/4026774.html

你可能感兴趣的:(Android,编程)