Voglio rilevare in Javascript se al momento è visualizzato un banner di Smart App. Ho già ispezionato il DOM ma non ci sono prove del banner.Come rilevare in javascript se al momento è visualizzata una Smart Banner App?
risposta
Questa è una vecchia domanda, ma forse questo sarà utile a qualcuno. Ho fatto questo in un modo seguente:
- Agente utente iOS rilevato;
- Utilizzato
window.matchMedia
per determinare il tipo e l'orientamento del dispositivo con le query multimediali; - Controllato
window.innerHeight
Dopo i miei esperimenti ho seguito i valori window.innerHeight sperimentali per diversi dispositivi con banner mostrati. Puoi trovarli di seguito:
- iPhone 6 Plus portrait:
544px
; - iPhone 6 Plus orizzontale:
286px
; - iPhone 6 portrait:
475px
; - iPhone 6 orizzontale:
247px
; - iPhone 5 & 5S ritratto:
376px
; - iPhone 5 & 5S landscape:
148px
; - iPhone 2G, 3G, 4, 4S, iPod Touch generazioni 1-4 ritratto:
288px
; - iPhone 2G, 3G, 4, 4S, iPod Touch generazioni 1-4 orizzontale:
148px
.
Spero che questo aiuti qualcuno.
Mentre lo Smart App Banner non viene visualizzato nel DOM, riduce l'altezza disponibile della finestra del browser di 84 pixel (è il numero che ho ottenuto con IOS7 + iPhone5).
Ho intenzione di utilizzare questa diminuzione in window.innerHeight per determinare se SmartBanner è visualizzato.
(avrò bisogno di determinare se l'utente ha iPhone4 o iPhone5)
Safari Mobile ha altri pezzi che interessano il window.innerHeight ma al massimo il menu in basso (quota, ecc) e il più grande la barra degli indirizzi in alto riduce l'altezza disponibile di 69 pixel (anche questo è quello che ho ottenuto tramite Safari Web Inspector).
se si sta utilizzando jQuery:
hasSmartBanner = window.innerHeight !== $(window).innerHeight();
- 1. Visualizzazione di Smart Banner in iOS 6 Componente UIWebview
- 2. Testing Apple Smart App Banner sul browser desktop
- 3. L'argomento app su Apple Smart Banner viene passato all'app all'installazione?
- 4. Un banner Smart App può avviare un'app installata da Xcode?
- 5. Javascript: Come rilevare se una parola è evidenziata
- 6. Banner Smart App non viene visualizzato per la mia applicazione quando l'applicazione non è installata
- 7. È possibile tenere traccia dei click-through da iPhone Smart Banner
- 8. Nascondi la barra dell'URL senza nascondere lo Smart App Banner su iOS
- 9. Javascript per rilevare se l'utente cambia scheda
- 10. È possibile rilevare JavaScript se il browser dell'utente supporta gzip?
- 11. È possibile rilevare se è iniziata una transizione CSS arbitraria
- 12. Rileva se un avviso o una conferma è visualizzata su una pagina
- 13. Come rilevare se $ _POST è impostato?
- 14. Rilevare se una directory è una giunzione in Delphi
- 15. Come rilevare se una stringa è in formato URL usando javascript?
- 16. Controlla se una stringa è una stringa letterale nota al momento della compilazione?
- 17. Android notifica al momento
- 18. Come posso rilevare, tramite javascript in Safari Mobile, se è installata l'applicazione iPhone?
- 19. Come sapere se la tastiera visualizzata è Split o normale?
- 20. Rileva se l'elemento ha interrotto lo scorrimento del momento?
- 21. Come può una vista rilevare quando è collegata al genitore?
- 22. Come rilevare se ASP.NET è abilitato in IIS 7
- 23. Come rilevare se è supportata un'interfaccia grafica?
- 24. Rilevare se JIT è disponibile
- 25. Come rilevare se una notifica è stata respinta?
- 26. Come rilevare se è presente un microfono
- 27. Come posso rilevare se Dispatcher.DisableProcessing è attivo?
- 28. Cercando una matrice 2D al momento sublineare
- 29. come rilevare se la variabile è una stringa
- 30. Come testare gli URL di Banner app intelligenti nell'ambiente Dev
Grazie Sono venuto a questa soluzione anche. –
Come verificarlo, window.innerHeigth e screen.height mostrano valori diversi anche se lo Smart App Banner non viene visualizzato nel DOM –