Я загружаю локальный файл HTML в виджет, используя пакет flutter_webview следующим образом:
FutureBuilder<String>(
future: LocalLoader().loadLocal(),
builder: (context, snapshot) {
if (snapshot.hasData) {
// return Text("${snapshot.data}");
return WebView(
initialUrl: new Uri.dataFromString(snapshot.data, mimeType: 'text/html').toString(),
javascriptMode: JavascriptMode.unrestricted,
);
} else if (snapshot.hasError) {
return Text("${snapshot.error}");
}
return CircularProgressIndicator();
}
)
Он загружает HTML просто отлично, но еслитеги указывают на другие ресурсы (например, файл CSS в том же месте или другие локальные изображения), они не будут отображаться в веб-просмотре.
Эти ресурсы (CSS и файлы изображений) добавляются впроект в указанном месте пути из HTML (относительный локальный путь), а также в pubspec .
Например, один из файлов HTML содержит этот элемент:
<link rel=stylesheet href=styles/main.css>
Когда файл HTML загружается в веб-просмотр, CSS не будет отражать его стиль для этой страницы.Если я вручную добавлю / напишу CSS в HTML (используя элемент <style>
для его определения), он будет работать просто отлично.
Любое предложение о том, как я могу заставить эти HTML загружать свои локальные ресурсы?(даже если это означает изменение пакета или способ его реализации)
Также опубликовано здесь