2009-07-16 8 views
16

Come probabilmente saprete, le applicazioni iPhone possono registrare un gestore di schemi URL personalizzato, ala "myapp:" e questi possono essere utilizzati per i collegamenti in una pagina visualizzata in Safari.Come posso rilevare, tramite javascript in Safari Mobile, se è installata l'applicazione iPhone?

Vorrei avviare automaticamente la mia applicazione da una pagina specifica se il visitatore ha installato l'app. Se l'app non è installata, mostrerò loro l'attuale visualizzazione ottimizzata per dispositivi mobili della pagina.

Come posso eseguire questo rilevamento? Le ricerche su Google sono state infruttuose. Inoltre, per essere difficile, ho provato a fare qualcosa di simile senza alcun risultato:

var image = new Image(); 
image.onerror = function(e){ 
    alert("bummer"); 
} 
image.onload = function(e){ 
    alert('success!'); 
} 
image.src = 'myapp://something=meaningful'; 

Qualcuno ha incontrato un modo per fare il rilevamento applicazione?

+3

non possibile ... spiacente amico: -/Purtroppo, questo potrebbe essere usato per fare _ tutti i tipi_ di cose cattive. Sarebbe un jackpot per gli inserzionisti :-) –

+0

@BenGotow sai come funziona Android senza che accadano tutti i tipi di cose brutte? – Shane

risposta

6

The solution Ho presentato su un'altra domanda di Stack Overflow è il più vicino come si sta per ottenere.

+1

Sì, ho usato questo concetto (ma ho usato localStorage invece dei cookie per una migliore persistenza). Grazie. – davemyron

0

Non credo sia possibile. Dovresti registrare la tua app su iPhone/Mobile Safari e quindi creare un uri per sparare la tua app, proprio come http :, ftp: mailto :. Quindi nel tuo caso avresti qualcosa come Am I installato Mobile Safari avrebbe bisogno di sapere quale app attivare per caricare quell'URI e io non credo che questa funzionalità sia integrata nell'iPhone. So che non è possibile che javascript possa interrogare il tuo iPhone per vedere cosa è installato.

Spero di sbagliarmi perché sembra che sia una funzionalità potente, anche se dall'altra parte vedo alcuni problemi di sicurezza relativi a qualcosa di simile.

Buona fortuna.

+0

Lo schema URL personalizzato è certamente possibile, quindi gestire gli URL "myapp: //" non è un problema. Il mio desiderio è di verificare se l'app è installata in * gestire * quegli URL prima di provare a inviare un visitatore all'app. – davemyron

Problemi correlati