124 votes

Comment puis-je détecter si mon application Flutter s'exécute sur le web ?

Je sais que je peux détecter le système d'exploitation avec Platform.isAndroid , Platform.isIOS etc. mais il n'y a pas quelque chose comme Platform.isWeb Alors comment puis-je le détecter ?

0 votes

Pour plus d'informations, vous pouvez consulter ma réponse à une autre question en utilisant le lien ci-dessous. stackoverflow.com/a/70039641/9985458

252voto

Westy92 Points 842

Il existe un booléen global kIsWeb qui peut vous dire si l'application a été compilée pour fonctionner sur le web ou non.

Documentation : https://api.flutter.dev/flutter/foundation/kIsWeb-constant.html

import 'package:flutter/foundation.dart' show kIsWeb;

if (kIsWeb) {
  // running on the web!
} else {
  // NOT running on the web! You can check for additional platforms here.
}

2 votes

Si une application est compilée pour être exécutée sur le web et que je lance maintenant une application sur Android/ios, ce code peut être exécuté ou non ?

0 votes

Me donnera-t-il le pouvoir avec lequel je peux obtenir une application fonctionne sur le web, pas dans Android/ios/software/Windows ?

2 votes

N'oubliez pas de l'importer... import 'package:flutter/foundation.dart' ;

22voto

Diego Sanchez Points 211

Si vous voulez savoir ce que votre OS est sur le web, vous pouvez utiliser

    String platform = "";
    if (kIsWeb) {
      platform = getOSInsideWeb();
    }

    String getOSInsideWeb() {
      final userAgent = window.navigator.userAgent.toString().toLowerCase();
      if( userAgent.contains("iphone"))  return "ios";
      if( userAgent.contains("ipad")) return "ios";
      if( userAgent.contains("android"))  return "Android";
    return "Web";
   }

17voto

Deven Chavda Points 162

Il y a un code écrit ci-dessous pour obtenir l'OS/web où flutter tourne...

if(kIsWeb)
   return Text("It's web");

else if(Platform.isAndroid){
     return Text("it's Android"); }

1 votes

Comment puis-je tester le kIsweb constante pendant les tests unitaires ?

7voto

mNouh Points 11

Vous pouvez utiliser "kIsWeb" pour faire le travail

 if(kIsWeb){
// DO SOMETHING
}else{
// DO ANOTHER THING
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X