Javascript pour «Ajouter à l'écran d'accueil» sur iPhone?

110

Est-il possible d'utiliser Javascript pour émuler l'option Ajouter à l'écran d'accueil dans le menu des signets de Mobile Safari?

Quelque chose de similaire à IE window.external.AddFavorite(location.href, document.title);peut - être?

Kerrick
la source

Réponses:

56

La seule façon d'ajouter des signets dans MobileSafari (y compris ceux de l'écran d'accueil) est avec l'interface utilisateur intégrée, et Apples ne fournit de toute façon pas cela à partir de scripts dans une page. En fait, je suis presque sûr qu'il n'y a pas non plus de mécanisme pour le faire sur la version de bureau de Safari.

Louis Gerbarg
la source
4
Merci, j'avais peur que non. J'ai décidé de vérifierwindow.navigator.standalone et de les exhorter à l'ajouter s'il fonctionnait dans Mobile Safari.
Kerrick
18
@David Pas pour les applications Web. Peu d'utilisateurs savent qu'ils peuvent ajouter un signet à l'écran d'accueil. À mon humble avis, ce serait bien avec un lien / bouton qui déclenche le dialogue avec un message utile.
gregers
13
@David Ce n'est pas de la mendicité. Les applications Web sur iOS peuvent s'exécuter en tant qu'applications natives, en plein écran si elles sont ajoutées à l'écran d'accueil. Même le mode hors ligne est possible, ce serait donc cool si nous pouvons utiliser javascript pour l'ajouter à l'écran d'accueil (avec une boîte de dialogue appropriée de corse).
Ákos Nikházy
3
@the_nakos et c'est pourquoi il n'y aura jamais de moyen facile d '"ajouter à l'écran d'accueil", car cela créerait une alternative à l'incroyable App Store d'Apple avec un paiement incroyable et des achats intégrés incroyables. Ce n'est pas la seule chose qu'ils ont faite pour l'empêcher. Dans le passé, les applications Web en plein écran étaient paralysées en utilisant uniquement l'ancien moteur JavaScript alors que le safari mobile exécutait déjà un moteur beaucoup plus rapide 9to5mac.com/2014/06/03
Pawel
63

Jusqu'à ce que Safari implémente Service Worker et suive la direction définie par Chrome et Firefox, il n'y a aucun moyen d'ajouter votre application par programme à l'écran d'accueil ou de demander au navigateur d'inviter l'utilisateur.

Cependant, il existe une petite bibliothèque qui invite l'utilisateur à le faire et pointe même vers le bon endroit. Fonctionne un régal.

https://github.com/cubiq/add-to-homescreen

Craig
la source
1
Malheureusement, c'est la meilleure solution actuellement disponible.
hitautodestruct
La bibliothèque [link ... / add-to0homescreen] fonctionne, cependant, l'appel final à invoquer est addToHomescreen ({}); Doit avoir des accolades entre parenthèses, ce qui signifie que vous ne passez aucun paramètre.
RigidBody
8

Il existe une bibliothèque Javascript open source qui propose quelque chose de similaire: mobile-bookmark-bubble

La bulle de signets mobile est une bibliothèque JavaScript qui ajoute une bulle promotionnelle au bas de votre application Web mobile, invitant les utilisateurs à ajouter l'application à leurs favoris sur l'écran d'accueil de leur appareil. La bibliothèque utilise le stockage local HTML5 pour savoir si la promotion a déjà été affichée, afin d'éviter de harceler constamment les utilisateurs.

L'implémentation actuelle de cette bibliothèque cible spécifiquement Mobile Safari, le navigateur Web utilisé sur les appareils iPhone et iPad.

Philippe Laval
la source
2
Y a-t-il quelque chose de similaire pour Android (ou, ugh, oserais-je dire, Blackberry)?
SnowboardBruin
3

En javascript, ce n'est pas possible mais oui avec l'aide de "Web Clips" nous pouvons créer une icône "ajouter à l'écran d'accueil" ou un raccourci sur iPhone (par le fichier de code de .mobileconfig)

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ConfigurationProfileExamples/ConfigurationProfileExamples.html

http://appdistro.cttapp.com/webclip/

après avoir créé un fichier mobileconfig, nous pouvons passer cette URL dans le certificat d'installation du navigateur iPhone Safari et après l'avoir fait, vérifiez l'écran d'accueil de votre iPhone, il y a une icône de raccourci de votre page Web ou de votre application Web.

Rawan-25
la source
Cela ne répond pas à la question. Une fois que vous aurez une réputation suffisante, vous pourrez commenter n'importe quel message ; au lieu de cela, fournissez des réponses qui ne nécessitent pas de clarification du demandeur . - De l'avis
Jeet
Jeet, pouvez-vous s'il vous plaît m'expliquer où je me trompe Oui c'est vrai Par le script, il n'est pas possible de créer un ajout à l'écran d'accueil mais avec le "clip Web" que nous pouvons créer, pour cela nous devons créer un fichier .mobileconfig
Rawan-25
Merci @jaepage pour cela .. cttapp.com était un site Web en ligne où vous pouvez bien créer votre propre fichier mobilecofig dès maintenant, ils ont fermé leur page Web afin que vous puissiez utiliser developer.apple.com/library/content/documentation/... ce site Bientôt je va créer notre propre outil Web pour cela ...
Rawan-25
Vous pouvez également utiliser "apple configuratior 2" pour créer un webclip
Rawan-25