WebView не загружает правильный css на android 16

Я использую общий веб-просмотр для загрузки файлов HTML, чтобы отображать диалоговые окна справки в моем приложении для Android.

this.helpView = new WebView(this);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
            this.helpView.getSettings().setSafeBrowsingEnabled(false);
        this.helpView.getSettings().setJavaScriptEnabled(true);

Использование довольно простое, когда я хочу показать любое диалоговое окно справки, загрузить любой из файлов html, включенных в папку с ресурсами, в helpView.

 if (this.helpView.getParent() != null)
            ((ViewGroup) this.helpView.getParent()).removeView(this.helpView);

        this.helpView.loadUrl(url);

где url - это что-то вроде: file:///android_asset/add_giveaway_help.htm? + Locale.getDefault().getLanguage()

Вот трюк: у меня есть только один html-файл для каждой ситуации справки, но каждый файл включает текст справки на нескольких языках. Каждый HTML-файл имеет функцию javascript, которая считывает собственный URL-адрес и проверяет индикатор параметра запроса языка. в соответствии с этой информацией в html вводится определенный класс css, и отображается только желаемый язык

функция javascript:

if (window.location.href.endsWith('pt'))
style.innerHTML = '.en { display: none; }';
else
style.innerHTML = '.pt { display: none; }';

однако это не работает на Android 16

отображаются оба справочных текста ... в то время как другие javascripts в том же html работают даже на android 16

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
301
1

Ответы 1

htmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlData;

// допустим, у нас есть файл /assets/style.css

webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "UTF-8", null);

что такое данные html? вся html-страница?

Rafael Lima 10.10.2018 15:51

@RafaelLima да

Erselan Khan 11.10.2018 04:49

Другие вопросы по теме