6

webView で URL を読み込みたい。URL はhttp://wapp.baidu.com/f?kw=%BB%F0%BC%FDです。このページはシステムのデフォルト ブラウザで正しく動作しますが、私の webView では一部の JavaScript が動作しません。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();
}

更新: 次のコードを追加するだけで問題は解決します:

webView.getSettings().setDomStorageEnabled(true);
4

2 に答える 2

0

プロガードを使用している場合、javascript の実行が停止します。たとえば、私の proguard-project.txt ファイルには次のものがあります。

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 *;
#}
于 2012-12-11T14:31:27.737 に答える