Javascript para “Adicionar à tela inicial” no iPhone?

110

É possível usar Javascript para emular a opção Adicionar à tela inicial no menu de favoritos do Mobile Safari?

window.external.AddFavorite(location.href, document.title);Possivelmente algo semelhante ao do IE ?

Kerrick
fonte

Respostas:

56

A única maneira de adicionar qualquer marca de livro no MobileSafari (incluindo aqueles na tela inicial) é com a IU embutida, e que a Apples não fornece nenhuma maneira de fazer isso a partir de scripts em uma página. Na verdade, tenho certeza de que também não há mecanismo para fazer isso na versão desktop do Safari.

Louis Gerbarg
fonte
4
Obrigado, tive medo que não. Decidi verificar window.navigator.standalonee exortá-los a adicioná-lo se ele estiver sendo executado no Mobile Safari.
Kerrick
18
@David Não para aplicativos da web. Não são muitos os usuários que sabem que podem marcar para a tela inicial. IMHO seria bom com um link / botão que dispara o diálogo com uma mensagem útil.
gregers
13
@David Não está implorando. Os aplicativos da web no iOS podem ser executados como aplicativos nativos, em tela cheia se forem adicionados à tela inicial. Mesmo o modo offline é possível, então seria legal se pudéssemos usar javascript para adicioná-lo à tela inicial (com o diálogo adequado de corse).
Ákos Nikházy
3
@the_nakos e é por isso que nunca haverá uma maneira fácil de "adicionar à tela inicial", porque criaria uma alternativa para a incrível loja de aplicativos da Apple com checkout incrível e compras dentro do aplicativo incríveis. Não foi a única coisa que fizeram para evitá-lo. No passado, os aplicativos da web em tela inteira eram prejudicados pelo uso apenas do mecanismo JavaScript antigo quando o safari móvel já estava rodando o mecanismo muito mais rápido 9to5mac.com/2014/06/03/…
Pawel
63

Até que o Safari implemente o Service Worker e siga a direção definida pelo Chrome e Firefox, não há como adicionar seu aplicativo programaticamente à tela inicial ou fazer com que o navegador avise o usuário

No entanto, existe uma pequena biblioteca que solicita ao usuário que o faça e até aponta para o local certo. Funciona muito bem.

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

Craig
fonte
1
Infelizmente, esta é a melhor solução disponível atualmente.
hitautodestruct
A biblioteca [link ... / add-to0homescreen] funciona, no entanto, a chamada final para invocar é addToHomescreen ({}); Deve ter uma chave entre parênteses, significando que você não está passando parâmetros.
RigidBody
8

Existe uma biblioteca Javascript de código aberto que oferece algo relacionado: mobile-bookmark-bubble

O Mobile Bookmark Bubble é uma biblioteca JavaScript que adiciona um balão promocional na parte inferior de seu aplicativo da web móvel, convidando os usuários a adicionarem o aplicativo à tela inicial de seus dispositivos. A biblioteca usa armazenamento local HTML5 para rastrear se a promoção já foi exibida, para evitar irritar os usuários constantemente.

A implementação atual desta biblioteca visa especificamente o Mobile Safari, o navegador da web usado em dispositivos iPhone e iPad.

Philippe Laval
fonte
2
Existe algo semelhante para Android (ou, atrevo-me a dizer, Blackberry)?
SnowboardBruin
3

Em javascript, não é possível, mas sim com a ajuda de “Web Clips” podemos criar um ícone ou atalho "adicionar à tela inicial" no iPhone (pelo arquivo de código de .mobileconfig)

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

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

depois de criar um arquivo mobileconfig podemos passar este url no certificado de instalação do navegador safari iphone e depois de feito isso verificar a tela inicial do seu iphone, há um ícone de atalho da sua página web ou webapp.

Rawan-25
fonte
Isso não fornece uma resposta para a pergunta. Assim que tiver reputação suficiente, você poderá comentar sobre qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do autor da pergunta . - Da avaliação
Jeet
Jeet, pode me explicar onde estou errado Sim, está certo Pelo script, não é possível criar adicionar à tela inicial, mas com o "web clip" podemos criar, para isso temos que criar o arquivo .mobileconfig
Rawan-25 de
Obrigado @jaepage por isso .. cttapp.com era um site online onde você pode criar seu próprio arquivo mobilecofig bem agora, eles fecham a página da web para que você possa usar developer.apple.com/library/content/documentation/… este site Em breve eu criaremos nossa própria ferramenta da web para ele ...
Rawan-25 de
Você também pode usar "apple configuratior 2" para criar um webclip
Rawan-25