#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.