2012-12-02 15 views
6

webViewでURLをロードします。 URLはhttp://wapp.baidu.com/f?kw=%BB%F0%BC%FDです。このページはシステムのデフォルトブラウザでは正常に動作しますが、WebViewでは一部のJavaScriptが動作しません。 JavaScriptが有効になっており、何が問題なのかわかりません。Android WebViewでJavaScriptが動作しません

私は助けていただきありがとうございます。

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(); 
} 

更新:あなたはProGuardのを使用している場合、それが実行されるJavaScriptを停止

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

これをテストしているデバイスのAPIバージョンは何ですか? –

+0

@AliImranデバイスはAndroid 4.1.1でNexus Sですが、これはどういう意味ですか? – soso327

答えて

0

:問題は だけで次のコードを追加し解決しています。

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

どうやって使用しますか?私はクラスからの記号を削除するだけです:またはコードブロックにコピーする必要がありますか? –

0

私はjavascriptのファイルキャッシング/爽やかでいくつかの問題があると思います。例えば、私のProGuardの-project.txtファイルで、私は次のよう持っています。私はjs &のファイル名を変更して正常に動作します。

関連する問題