Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.6

platform_detect

Eine leichte Bibliothek zur Erkennung des laufenden Browsers und Betriebssystems

Web
30-Tage-Downloads
102.000
Likes
38
Pub-Punkte
125

Paket installieren

flutter pub add platform_detect

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

platform_detect ist eine leichte Flutter-Web-Bibliothek, die zur Laufzeit die aktuelle Betriebssystem- und Browserumgebung erkennt. Sie bietet eine einfache und zuverlässige Erkennung von Plattformdetails wie Betriebssystem (z. B. Windows, macOS, Linux) und Browser (z. B. Chrome, Safari, Firefox), wodurch Entwickler das Verhalten oder die Benutzeroberfläche an die Umgebung des Benutzers anpassen können. Das Paket ist für Web-Anwendungen optimiert und nahtlos mit der Flutter-Web-Plattform integriert. Es basiert auf clientseitiger JavaScript-Erkennung ohne externe Abhängigkeiten.

Anwendungsfälle

  • Anpassen der Benutzeroberflächengestaltung für verschiedene Browser
  • Funktionen bedingungsabhängig basierend auf dem Betriebssystem aktivieren
  • Debuggen plattformspezifischer Probleme
  • Leistung pro Browser optimieren
  • Umgang mit Browser-Kompatibilitätsunterschieden

Hauptmerkmale

  • Leicht und schnell
  • Keine externen Abhängigkeiten
  • Unterstützt Hauptbrowser und Betriebssysteme
  • Einfache API mit klaren Ergebnissen
  • Speziell für Flutter Web entwickelt

Geeignet für

  • Web-only Flutter-Apps
  • Logik für die Browserkompatibilität
  • umgebungsbehaftete UI-Rendering
  • Entwicklerwerkzeuge und Diagnose

Hinweise

  • Nur für Web-Plattformen verfügbar
  • Beruht auf Browser-/Benutzer-Agent-Zeichenfolgen
  • Kann Aktualisierungen für neue Browser-Versionen erfordern
  • Nicht geeignet für mobile oder Desktop-Anwendungen

Original-README

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

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>

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.