Nano Hash - криптовалюты, майнинг, программирование

Twitter Bootstrap не работает в Android WebView

HTML-файл (test.html)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <link href="bootstrap.css" rel="stylesheet" type="text/css"/>
    <link href="bootstrap-responsive.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<h1>Hello World!!!</h1>
 <a class="btn btn-primary btn-large">
    Learn more
</a>
</body>
</html>

Файлы HTML и bootstrap css помещаются в папку с ресурсами. Если я открываю файл HTML в IE/Firefox, он отображается правильно. Но Android WebView не отображает это должным образом.

Код для WebView

WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
String url = "file:///android_asset/test.html";
webView.loadUrl(url);

IE отображает это так

IE отображает это так

WebView отображает это так

WebView отображает это так

Что случилось?


  • Вы подключили свое устройство к компьютеру, чтобы увидеть, загружаются ли файлы css (т.е. не 404). 22.04.2013
  • Я создал тестовый проект с вашим кодом и не могу воспроизвести эту проблему ни на эмуляторе, ни на устройстве. Можете ли вы рассказать о своей среде, уровне Android, версии начальной загрузки и т. Д.? 14.08.2013
  • css может (хотя маловероятно) использовать импорт из внешних источников - если ` ‹uses-permission android:name=android.permission.INTERNET /›` не было установлено в манифесте, это может быть вашим объяснением. 14.08.2013

Ответы:


1

Добавьте эту строку

webView.getSettings().setDomStorageEnabled(true);
13.08.2013
  • Это не нужно, доступ к хранилищу не осуществляется. setJavaScriptEnabled(true) также не нужен для этого конкретного примера, хотя это не проблема, и я уверен, что его планируется использовать позже. 24.09.2013

  • 2

    Протестировано на эмуляторе - Android версии 4.2 с Bootstrap v2.3.2

    Файлы в папке активов моего приложения:

     bootstrap-responsive.css
     bootstrap.css
     test.html
    

    Нет необходимости добавлять «android.permission.INTERNET» в манифест Android, поскольку файлы css доступны локально в папке ресурсов приложения.

    Вот скриншот того, как это отображается. Нет никаких причин, по которым вы не могли бы его увидеть, если бы не проблемы с файлами CSS (что опять же маловероятно, поскольку вы можете видеть результаты в браузере).

    введите здесь описание изображения

    18.08.2013

    3

    В Котлине:

    webview.settings.javaScriptEnabled = true
    
    30.08.2019
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..