2012-12-02 5 views
6

WebView ile url yüklemek istiyorum. URL, http://wapp.baidu.com/f?kw=%BB%F0%BC%FD şeklindedir, bu sayfa sistem varsayılan tarayıcısında doğru şekilde çalışabilir, ancak webView'ümde, bazı JavaScript çalışmıyor. JavaScript etkin ve neyin yanlış olduğunu bilmiyorum.JavaScript çalışmıyor Android WebView

Herhangi bir yardım için minnettarım.

private void initUI() { 
    webView = (WebView) findViewById(R.id.web_view); 
    webView.getSettings().setJavaScriptEnabled(true); 

    final NavigationBar navigationBar = (NavigationBar) findViewById(R.id.navigationbar); 
    navigationBar.refreshUI(); 
    navigationBar.rightButton.setImageResource(R.drawable.refresh); 
    navigationBar.rightButton.setVisibility(View.VISIBLE); 
    navigationBar.rightButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      refresh(); 
     } 

    }); 

    navigationBar.leftButton.setImageResource(R.drawable.back); 
    navigationBar.leftButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View arg0) { 
      webView.goBack(); 
     } 

    }); 

    webView.setWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 

     public void onPageFinished(WebView view, String url) { 
      navigationBar.leftButton.setVisibility(webView.canGoBack() ? View.VISIBLE 
        : View.INVISIBLE); 
      super.onPageFinished(view, url); 
     } 
    }); 

    refresh(); 
} 

güncelleme: Sorun yalnızca kodlarla aşağıdakileri ekleyin çözüldü:

webView.getSettings().setDomStorageEnabled(true); 
+0

Bunu test etmekte olduğunuz aygıtınızın api sürümü nedir? –

+0

@AliImran cihaz, Android 4.1.1 ile Nexus S, bunu mu kastediyorsunuz? – soso327

cevap

0

Eğer ProGuard kullanıyorsanız, bu javascript çalışan durur.

if your project uses WebView with JS, uncomment the following 
# and specify the fully qualified class name to the JavaScript interface 
# class: 
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
# public *; 
#} 
+1

nasıl kullanıyorsunuz? Yani dersten sadece # işaretini kaldırıyorsun: veya bir kod bloğuna kopyalanmalı mı? –

0

javascript dosya önbelleğe alma/ferahlatıcı bazı sorunu olduğunu düşünüyorum: Örneğin, benim proguard-project.txt dosyasında aşağıdaki var. Js & dosya adını değiştirdim, iyi çalışıyor.