1. ホーム
  2. javascript

[解決済み] AndroidのWebViewでJavaScriptが動作しない?

2023-02-19 21:13:08

質問

ウェブビューといくつかのボタンを使用し、CMS への javascript の呼び出しに依存する、比較的単純な iOS アプリの Android 版を作成しようとしています。

しかし、開発のかなり初期の段階で行き詰っています。Android の Webview で JS を有効にする方法について多くの投稿を読みましたが、今のところうまくいきません。

以下は、私のコードの一部です。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.setWebViewClient(new HelloWebViewClient()
    {
        @Override  
        public void onPageFinished(WebView view, String url)  
        {  
            //Calling an init method that tells the website, we're ready 
            mWebView.loadUrl("javascript:m2Init()");
            page1(mWebView);
        }  
    });
  mWebView.loadUrl("http://my_url/mobile/iphone//app.php");  
}

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

}


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

public void page11(View view)
{
    mWebView.loadUrl("javascript:m2LoadPage(1)");
}

何が間違っているのでしょうか? このURLは、iOSアプリやブラウザでは完全に動作しています。 しかし、私のアプリではそうではありません!

明らかなことだと言ってください...

どのように解決するのですか?

解決しました。 このエラーに刺激されて、私は

setDomStorageEnabled(true)

をクリックすると、WebViewの設定に移ります。

Stephanさんのご協力に感謝します :)