2012-11-08 21 views
8

下面的代碼工作中的所有設備優良運行Android 2.x的,但不是在Nexus 7平板電腦4.1.2網頁視圖shouldOverrideUrlLoading工作在以往的Android版本除了4.1.x的豆形軟糖

的問題是,shouldOverrideUrlLoading永不跑步。 onPageFinished run ok

我會感謝任何可用的幫助。

wv = (WebView) root_view.findViewById(R.id.wv); 
wv.setBackgroundColor(res.getColor(R.color.def_bgr_color)); 
wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); 
wv.setWebViewClient(new MyWebViewClient()); 

WebSettings web_settings = wv.getSettings(); 
web_settings.setJavaScriptEnabled(true); 
web_settings.setLoadWithOverviewMode(true); 
web_settings.setUseWideViewPort(false); 
web_settings.setPluginsEnabled(true); 
web_settings.setSupportZoom(true); 
web_settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 

public class MyWebViewClient extends WebViewClient { 
    public MyWebViewClient() { 
    } 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     Log.i(TAG, "RUN shouldOverrideUrlLoading"); 
     return true; 

    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     Log.i(TAG, "RUN onPageFinished"); 
    } 
} 


String html_str = ... something html ... 

wv.loadDataWithBaseURL("file:///android_asset/", html_str, "text/html", "utf-8", null); 

回答

0

您是否嘗試將html_str作爲正常桌面chrome瀏覽器上的html文件加載?如果不嘗試,它可能會導致你的某個地方。

在早期版本的android跨域腳本允許的情況下,但由於最新版本的android中的安全原因,基於webkit的webview可防止跨域腳本。這可能會阻止你的頁面加載[在這裏大肆猜測!]。

相關問題