Flutter 中 WebView 的正确方法[已关闭]

问题描述 投票:0回答:4

Flutter 中 WebView 的正确方法是什么?我面临很多问题。

我尝试了很多依赖项或库,但在新项目中总是会出现一些错误。

存在Webview Flutter

flutter mobile webview
4个回答
0
投票

我使用 https://pub.dev/packages/webview_flutter 一年多了,但我总是遇到问题。另外,如果我没记错的话,无法从 webview 下载文件。

我所做的是迁移到https://pub.dev/packages/flutter_custom_tabs。超级容易使用。在 iOS 和 Android 上运行良好,到目前为止我还没有遇到任何问题。



0
投票

您可以使用 url_launcher 包来打开任何网址。

if (await canLaunchUrl(uri)) {
  await launchUrl(uri, mode: LaunchMode.inAppWebView);
} else {
  throw UnsupportedError('Could not launch $uri');
}

0
投票

当然!在 Flutter 中,WebView 小部件允许您在应用程序中显示 Web 内容。虽然 Flutter 提供了开箱即用的 WebView 小部件,但您可能会遇到限制或问题,具体取决于您的要求和目标平台。使用 flutter_inappwebview(也称为 InAppWebView)等第三方包可以提供更多功能和更好的兼容性。以下是有关如何在 Flutter 项目中使用 InAppWebView 的分步指南:

  1. 添加依赖项: 首先,您需要将 flutter_inappwebview 包添加到 pubspec.yaml 文件中。打开 pubspec.yaml 文件并添加以下依赖项:

2.导入包: 将包导入到要使用 InAppWebView 小部件的 Dart 文件中:

导入'包:flutter_inappwebview/flutter_inappwebview.dart';

  1. 添加 InAppWebView 小部件: 将您现有的 WebView 小部件替换为小部件树中的 InAppWebView。例如:

    在应用程序WebView( 初始UrlRequest:URLRequest(url:Uri.parse(“https://example.com”)), )

4.处理事件: InAppWebView 提供各种回调来处理页面加载、错误处理和导航等事件。您可以使用这些回调来自定义 WebView 的行为。例如:

    InAppWebView(
  initialUrlRequest: URLRequest(url: Uri.parse("https://example.com")),
  onLoadStart: (controller, url) {
    print("Page started loading: $url");
  },
  onLoadStop: (controller, url) {
    print("Page finished loading: $url");
  },
  onLoadError: (controller, url, code, message) {
    print("Error loading page: $code, $message");
  },
)
© www.soinside.com 2019 - 2024. All rights reserved.