Как включить JavaScript в WebView Android

#javascript #java #android #webview

#javascript #java #Android #webview

Вопрос:

У меня есть небольшое приложение HTML / CSS / JS. Я хочу, чтобы он был перенесен на Android. Я понял, что это можно сделать с помощью React Native или WebView, но поскольку мое приложение небольшое, я решил использовать WebView. HTML и CSS работают хорошо, а JS — нет. Вот код:

 public class MainActivity extends AppCompatActivity {
    protected WebView calculator;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // init
        calculator = (WebView) findViewById(R.id.calculator);

        // settings
        calculator.setInitialScale(1);

        WebSettings webSettings = calculator.getSettings();

        webSettings.setJavaScriptEnabled(true);
        webSettings.setUseWideViewPort(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setAllowContentAccess(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setAllowFileAccess(true);

        // load
        calculator.loadUrl("file:///android_asset/calculator/index.html");

    }
}
 

Необходимо ли строить мост между JS и Java через интерфейсы? Если ответ «да», это будет означать, что почти весь код будет написан на Java, и я не вижу причин делать это с помощью WebView, потому что я могу сделать все это на Java. Я не хочу писать на Java.

Комментарии:

1. Возможно, создайте короткий пример, который можно использовать для воспроизведения вашей проблемы, в этом случае покажите некоторый html с некоторым javascript, который не работает?

2. в настольной версии (браузере) все работает нормально

Ответ №1:

JavaScript не работал из-за конфликта версий. Некоторые из новых функций JavaScript не работают в Android 5.1.