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