Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.7.4

web_browser

Ein Webbrowser-Widget. Im Gegensatz zu webview_flutter verfügt es über plattformübergreifende Navigations- und URL-Teilen-Widgets. Funktioniert unter Android, iOS, Browsern und anderen Plattformen.

AndroidiOSmacOS
30-Tage-Downloads
100
Likes
71
Pub-Punkte
140

Paket installieren

flutter pub add web_browser

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Das web_browser-Paket bietet für Flutter ein plattformübergreifendes Webbrowser-Widget mit integrierten Navigationssteuerelementen und Funktionen zum Teilen von URLs. Im Gegensatz zu webview_flutter ist es so konzipiert, nahtlos auf Android, iOS, macOS und Web zu funktionieren, wobei konsistente Benutzeroberflächenkomponenten gewährleistet werden. Es vereinfacht die Einbettung von Webinhalten, während plattformspezifische Verhaltensweisen und Nutzererfahrungstandards beibehalten werden. Das Paket enthält intuitive Navigationswerkzeuge wie Zurück/Vorwärts-Tasten und teilbare URLs, was es ideal für Anwendungen macht, die integrierte Browserfunktionen benötigen, ohne häufige Browserfunktionen neu erfinden zu müssen.

Anwendungsfälle

  • Webinhalte in mobilen und Desktop-Anwendungen einbetten
  • App-basierte Browser mit Navigation erstellen
  • URLs innerhalb der App teilen
  • Hybride Web-Native-Anwendungen erstellen
  • In-App-Browsing auf mehreren Plattformen aktivieren

Hauptmerkmale

  • Plattformübergreifende Kompatibilität (Android, iOS, macOS, Web)
  • Eingebaute Navigationssteuerungen
  • URL-Teilen-Integration
  • Konsistente Benutzeroberfläche über Plattformen hinweg
  • Leichtgewichtig und einfach zu integrieren

Geeignet für

  • Entwickler, die Multiplattform-Apps mit Webinhalten erstellen
  • Apps, die eine einfache Browser-Funktionalität benötigen
  • Projekte, die den Austausch von URLs aus eingebetteten Webansichten erfordern
  • Teams, die eigene WebView-Implementierungen vermeiden möchten
  • Hybrid-App-Entwickler, die eine native Art des Browsing suchen

Hinweise

  • Eingeschränkte Anpassungsmöglichkeiten im Vergleich zu einem rohen WebView
  • Abhängig von plattformspezifischen Rendering-Verhalten
  • Kann auf einigen Plattformen zusätzliche Berechtigungen erfordern
  • Nicht geeignet für die Hosting komplexer Webanwendungen
  • Die Leistung kann sich auf älteren Geräten unterscheiden

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Pub Package Github Actions CI

Overview

The package gives you Browser, a Flutter widget for displaying web pages.

The package is built on top of webview_flutter and it adds navigation widgets that:

  • Display the domain.
  • Allow user to tap "back", "forward", "refresh", or share the URL using a native dialog of each platform.
  • Display website loading error messages in a visually pleasant and easy-to-understand way.

Browser has been tested in Android, iOS, and browsers. By adding relevant "webview_flutter" plugin dependencies to your "pubspec.yaml", you can use this package in Windows, Mac OS X, and Linux too.

Licensed under the Apache License 2.0.

Links

Setting up

1.Setup

In pubspec.yaml:

dependencies:
  web_browser: ^0.7.4

2.Display web browser

import 'package:flutter/material.dart';
import 'package:web_browser/web_browser.dart';

void main() {
  runApp(const MaterialApp(
    home: Scaffold(
      body: SafeArea(
        child: Browser(
          initialUriString: 'https://flutter.dev/',
        ),
      ),
    ),
  ));
}

Manual

Default designs

The package contains two designs, Cupertino (web_browser.cupertino) and Material (web_browser.material). By default, the package chooses a Cupertino or Material design based on whether the app is CupertinoApp or MaterialApp. You can override the defaults by using relevant parameters of Browser() constructor.

The Cupertino and Material navigation bars look like this:

Localization

Use BrowserLocalizations to localize the widgets.

void main() {
  runApp(MaterialApp(
    localizations: [
      ...browserLocalizationsList,
      // ...
    ],
    // ...
  ));
}

final browserLocalizationsList = [
  // Spanish localization
  BrowserLocalizations.forLocale(
    locale: Locale('es'),
    load: (locale) async => BrowserLocalizations(
      couldNotReach: 'No se pudo acceder al sitio web.',
      // ...
    ),
  ),
];

Setting various parameters

You can give various parameters to Browser:

import 'package:flutter/material.dart';
import 'package:web_browser/web_browser.dart';

void main() {
  runApp(const MaterialApp(
    home: Scaffold(
      body: SafeArea(
        child: Browser(
          initialUriString: 'https://flutter.dev/',
          controller: BrowserController(
            // "User-Agent" HTTP header.
            userAgent: 'Your user agent',
            
            // Can user zoom into the content? Default is true.
            isZoomingEnabled: false,
          )
        ),
      ),
    ),
  ));
}

Cache clearing

For end-users privacy, it is good to clear:

  • Cookies
  • Caches
  • Local storage

You can enable this by setting:

import 'package:web_browser/web_browser.dart';

void main() {
  // Clear when the app is started
  BrowserController.resetGlobalStateAtStart = true;
  
  // Clear every now and then.
  BrowserController.globalStateExpiration = const Duration(days: 1);
  
  // ...
}

Accessing WebViewController

To access WebViewController by using browserController.webViewController.

Kategorien

Abhängigkeiten

Abhängigkeiten 6 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.