Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.1.6

platform_detect

Uma biblioteca leve para detectar o navegador e o sistema operacional em execução

Web
Downloads em 30 dias
102 mil
Curtidas
38
Pontos Pub
125

Instalar pacote

flutter pub add platform_detect

Visão geral do pacote

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

platform_detect é uma biblioteca leve para Flutter Web projetada para identificar o sistema operacional e o ambiente do navegador em tempo de execução. Oferece detecção simples e confiável de detalhes da plataforma, como sistema operacional (por exemplo, Windows, macOS, Linux) e navegador (por exemplo, Chrome, Safari, Firefox), permitindo que desenvolvedores ajustem comportamento ou interface com base no ambiente do usuário. O pacote é otimizado para aplicações web e se integra perfeitamente à plataforma web do Flutter. Ele depende da detecção em JavaScript do lado do cliente sem dependências externas.

Casos de uso

  • Adaptando o layout da interface para diferentes navegadores
  • Habilitar recursos condicionalmente com base no sistema operacional
  • Depuração de problemas específicos da plataforma
  • Otimizando o desempenho por navegador
  • Tratando peculiaridades de compatibilidade com navegadores

Principais recursos

  • Leve e rápido
  • Sem dependências externas
  • Suporta navegadores e SOs principais
  • API simples com resultados claros
  • Criado especificamente para Flutter Web

Indicado para

  • Aplicativos Flutter somente para web
  • Lógica de compatibilidade entre navegadores
  • Renderização de interface do usuário consciente do ambiente
  • Ferramentas de desenvolvedor e diagnósticos

Considerações

  • Limitado apenas a plataformas da web
  • Depende das strings de agente do navegador/usuário
  • Pode exigir atualizações para novas versões de navegador
  • Não adequado para aplicativos móveis ou de desktop

README original

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

codecov documentation

platform_detect

A library for detecting browser and platform type and version.

Usage

A simple usage example:

import 'package:platform_detect/platform_detect.dart';

main() {
  if (browser.isChrome) {
	print('thank you for being a friend');
  }

  if (operatingSystem.isMac) {
	print('');
  }
}

Decorating the <html> element with CSS classes

This library can also be used to place CSS classes on the <html> element based on the operating system, browser, or a specific supported feature.

Add the decorator.dart import as shown in the example below, and call decorateRootNodeWithPlatformClasses within main in your application.

import 'package:platform_detect/platform_detect.dart';
import 'package:platform_detect/decorator.dart';

main() {
  decorateRootNodeWithPlatformClasses();
}

The <html> node of your application will now look like something like this:

<html lang="en" class="ua-chrome ua-chrome45 ua-lt-chrome46 ua-lt-chrome47 os-mac no-touch no-mstouch">
  <!-- ... -->
</html>
Feature detection

By default, the only browser feature that the library detects for you is touch / mstouch.

You can extend this functionality to bake in a Modernizr-esque implementation by creating your own Feature instances, and passing a list of them as the features argument to decorateRootNodeWithPlatformClasses:

import 'package:platform_detect/platform_detect.dart';
import 'package:platform_detect/decorator.dart';

// For instance, if you need to detect whether a browser supports H5 canvas stuff...
var canvasFeature = new Feature('canvas', new CanvasElement().context2D != null);

main() {
  // Decorate HTML element
  decorateRootNodeWithPlatformClasses(features: [canvasFeature]);

  // Or use the `isSupported` field somewhere else in your app...
  if (canvasFeature.isSupported) {
    // Do something
  } else {
    // Fall back / warn / etc...
  }
}

The <html> node of your application will now look like something like this for browsers that support canvas:

<html lang="en" class="canvas ...">
  <!-- ... -->
</html>

and something like this for browsers that don't support canvas:

<html lang="en" class="no-canvas ...">
  <!-- ... -->
</html>

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.