如何在颤振中加载 InAppWebView 中的本地文件?
how to load local file in InAppWebView in flutter?
我想在 flutter 中从 In App WebView 中的内部存储加载文件,以便我可以在 WebView 中加载该文件。
是的,你可以做到。以下是步骤:
看这里的例子,看看它是如何使用HTML字符串的,比如kNavigationExamplePage
:
https://pub.dev/packages/webview_flutter/example
const String kNavigationExamplePage = '''
<!DOCTYPE html><html>
<head><title>Navigation Delegate Example</title></head>
<body>
<p>
The navigation delegate is set to block navigation to the youtube website.
</p>
<ul>
<ul><a href="https://www.youtube.com/">https://www.youtube.com/</a></ul>
<ul><a href="https://www.google.com/">https://www.google.com/</a></ul>
</ul>
</body>
</html>
''';
Future<void> _onNavigationDelegateExample(
WebViewController controller, BuildContext context) async {
final String contentBase64 =
base64Encode(const Utf8Encoder().convert(kNavigationExamplePage));
await controller.loadUrl('data:text/html;base64,$contentBase64');
}
您需要做的是从文件中读取该字符串。此答案提供了有关如何执行此操作的详细步骤。您将读取 HTML 文件而不是文本文件。稍后您将使用它代替 kNavigationExamplePage
字符串。
编辑:
如果你使用的是flutter_inappwebview,它似乎还有一个直接使用你的资产文件的功能:https://pub.dev/documentation/flutter_inappwebview/latest/flutter_inappwebview/InAppWebViewController/loadFile.html
我想在 flutter 中从 In App WebView 中的内部存储加载文件,以便我可以在 WebView 中加载该文件。
是的,你可以做到。以下是步骤:
看这里的例子,看看它是如何使用HTML字符串的,比如kNavigationExamplePage
:
https://pub.dev/packages/webview_flutter/example
const String kNavigationExamplePage = '''
<!DOCTYPE html><html>
<head><title>Navigation Delegate Example</title></head>
<body>
<p>
The navigation delegate is set to block navigation to the youtube website.
</p>
<ul>
<ul><a href="https://www.youtube.com/">https://www.youtube.com/</a></ul>
<ul><a href="https://www.google.com/">https://www.google.com/</a></ul>
</ul>
</body>
</html>
''';
Future<void> _onNavigationDelegateExample(
WebViewController controller, BuildContext context) async {
final String contentBase64 =
base64Encode(const Utf8Encoder().convert(kNavigationExamplePage));
await controller.loadUrl('data:text/html;base64,$contentBase64');
}
您需要做的是从文件中读取该字符串。此答案提供了有关如何执行此操作的详细步骤。您将读取 HTML 文件而不是文本文件。稍后您将使用它代替 kNavigationExamplePage
字符串。
编辑: 如果你使用的是flutter_inappwebview,它似乎还有一个直接使用你的资产文件的功能:https://pub.dev/documentation/flutter_inappwebview/latest/flutter_inappwebview/InAppWebViewController/loadFile.html