WebView簡介(定製基本行為篇)

來源:互聯網
上載者:User

原文:http://www.cnblogs.com/oakpip/archive/2011/04/08/2009800.html
  WebKit是Mac OS X v10.3及以上版本所包含的軟體架構(對v10.2.7及以上版本也可通過軟體更新擷取)。 同時,WebKit也是Mac OS X的Safari網頁瀏覽器的基礎。WebKit是一個開源項目,主要由KDE的KHTML修改而來並且包含了一些來自蘋果公司的一些組件。 
   傳統上,WebKit包含一個網頁引擎WebCore和一個指令碼引擎JavaScriptCore,它們分別對應的是KDE的KHTML和KJS。不過, 隨著JavaScript引擎的獨立性越來越強,現在WebKit和WebCore已經基本上混用不分(例如Google Chrome和Maxthon 3採用V8引擎,卻仍然宣稱自己是WebKit核心)。 
這裡我們初步體驗一下在android是使用webview瀏覽網頁,在SDK的Dev Guide中有一個WebView的簡單例子 。 

在開發過程中應該注意幾點: 
    1.AndroidManifest.xml中必須使用許可"android.permission.INTERNET",否則會出Web page not available錯誤。
    2.如果訪問的頁面中有Javascript,則webview必須設定支援Javascript。
        webview.getSettings().setJavaScriptEnabled(true);  
    3.如果頁面中連結,如果希望點選連結繼續在當前browser中響應,而不是新開Android的系統browser中響應該連結,必須覆蓋 webview的WebViewClient對象。
    mWebView.setWebViewClient(new WebViewClient(){       
                        public boolean shouldOverrideUrlLoading(WebView view, String url) {       
                            view.loadUrl(url);       
                            return true;       
                        }       
            });   

 4.如果不做任何處理,瀏覽網頁,點擊系統“Back”鍵,整個Activity會調用finish()而結束自身,如果希望瀏覽的網 頁回退而不是結束當前瀏覽網頁的Activity ,需要在當前Activity中處理並消費掉該Back事件。

    public boolean onKeyDown(int keyCode, KeyEvent event) {       
            if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {       
                mWebView.goBack();       
                       return true;       
            }       
            return super.onKeyDown(keyCode, event);       
        }    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.