2010-07-28 16 views
5

Quando tocco due volte vicino al bordo di una pagina che supera l'altezza o la larghezza della finestra del browser in Safari in iOS4, ingrandisce o riduce e/o scorre in alto, in basso, a destra oa sinistra, a seconda delle dimensioni della pagina e la posizione attuale della finestra. Come posso prevenire questo comportamento, per favore?Come impedire il comportamento di doppio tocco predefinito (zoom, panoramica) in Mobile Safari su iOS4?

Sto lavorando a un sito in cui questo è (molto) cattivo; stiamo mantenendo diversi livelli di stato del menu e scorrendo orizzontalmente per navigare tra i livelli. Tocca due volte il layout e non c'è un modo intuitivo per recuperarlo.

Il doppio tocco non sembra attivare un evento di scorrimento o tocco per quanto posso dire. Altre cose I hanno provato:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

... con variazioni:

  • user-scalable = no
  • user-scalable = 0
  • width = device-width
  • larghezza = 320

risposta

2

Sembra rendendo assolutamente certo che nessuno dei miei elementi importanti - Ho un colpo di testa statico, lo scorrimento del corpo, e piè di pagina statica, e l'intestazione e il corpo può scorrere lateralmente sia - in realtà superare la larghezza viewport e hanno overflow: hidden sembra aver fatto il trucco.

Molto triste non c'è nulla di ufficiale su questo, perché è fastidioso, e rompe la maggior parte degli altri esempi che ho trovato in rete

2

Hai come errore di battitura nel tuo meta tag, tra ogni impostazione dovresti usare la virgola. ex.

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/> 
+0

Corretto nell'esempio; provato in produzione. Non ha aiutato –

+0

Ho appena creato un documento di esempio e testato sul mio iPhone e ha funzionato come previsto. (http://ninjadev.org/stackoverflow/viewport.html) Hai un link alla pagina, quindi posso provare da solo? –

1

trovo che il tag <meta name="viewport" ...> generalmente funziona su iOS per impedire il ridimensionamento con doppio tocco, ma sull'iPad3 su iOS 5.1 ci sono occasionalmente rare circostanze, che ho difficoltà a riprodurre, in cui viene attivato lo zoom con doppio tocco e successivamente si rimuove il layout della pagina. Il comportamento è piuttosto buggy. Forse using Javascript per gestire gli eventi tap può aiutare a prevenire che ciò accada mentre attendiamo che Apple risolva questo problema. È difficile da testare senza avere comunque un modo per riprodurre il bug.

Disclaimer: Non ho ancora testato questo metodo.

Problemi correlati