Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.7.4

web_browser

Um widget de navegador da web. Diferentemente do webview_flutter, vem com widgets de navegação e compartilhamento de URL multiplataforma. Funciona em Android, iOS, navegadores e outras plataformas.

AndroidiOSmacOS
Downloads em 30 dias
100
Curtidas
71
Pontos Pub
140

Instalar pacote

flutter pub add web_browser

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote web_browser oferece um widget de navegador da web multiplataforma para o Flutter, com controles de navegação integrados e funcionalidade de compartilhamento de URLs. Diferentemente do webview_flutter, foi projetado para funcionar sem problemas em plataformas Android, iOS, macOS e web, com componentes de interface consistentes. Ele simplifica a incorporação de conteúdo da web, mantendo comportamentos específicos de plataforma e padrões de experiência do usuário. O pacote inclui ferramentas intuitivas de navegação, como botões voltar/avançar e URLs compartilháveis, tornando-o ideal para aplicativos que exigem capacidades de navegação integradas sem reinventar recursos comuns de navegador.

Casos de uso

  • Incorporar conteúdo da web em aplicativos móveis e de desktop
  • Construindo navegadores baseados em aplicativos com navegação
  • Compartilhar URLs dentro do aplicativo
  • Criando aplicações híbridas web-nativas
  • Habilitar navegação no aplicativo em múltiplas plataformas

Principais recursos

  • Compatibilidade multiplataforma (Android, iOS, macOS, web)
  • Controles de navegação embutidos
  • Integração de compartilhamento de URL
  • UI consistente entre plataformas
  • Leve e fácil de integrar

Indicado para

  • Desenvolvedores criando aplicativos multiplataforma com conteúdo da web
  • Aplicativos que precisam de funcionalidade simples de navegador
  • Projetos que exigem compartilhamento de URL a partir de visualizações da web embutidas
  • Equipes que desejam evitar implementações personalizadas de WebView
  • Desenvolvedores de aplicativos híbridos procurando navegação semelhante à nativa

Considerações

  • Personalização limitada em comparação com WebView nativo
  • Depende do comportamento específico da plataforma para renderização
  • Pode exigir permissões adicionais em algumas plataformas
  • Não adequado para hospedagem de aplicativos da web complexos
  • O desempenho pode variar em dispositivos mais antigos

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Dependências

Lista de dependências 6 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.