2014-10-30 12 views
7

Ultimamente sto lavorando a un progetto e trovo uno strano problema in Safari su Mac. Quando Safari carica una pagina Web con troppi campi di testo di input, diventa lento durante la messa a fuoco e la digitazione in questi campi.Le risposte di Safari su Mac rallentano quando si digita su una pagina Web con molti campi <input type = "text">

Ho fatto una semplice pagina php per testare. Il codice è riportato di seguito:

<?php 

for ($i = 0; $i < 1000; $i++) { 
    echo "<p> 
      <input type='text' /> 
      <input type='text' /> 
      <input type='text' /> 
      <input type='text' /> 
      <input type='text' /> 
     </p>"; 
} 
?> 

quindi aprirlo in Safari 8.0 su Yosemite o Safari 7.0 su Mavericks, provare a digitare qualcosa in alcuni campi, troverete Safari risposte molto lenta durante la digitazione.

Ma se si apre questa pagina php in Firefox o Chrome, rispondono digitando molto velocemente ea una velocità normale.

Provo anche a utilizzare alcuni blocchi div modificabili per sostituire i campi di testo di input, ho trovato in Safari queste risposte div modificabili digitando molto velocemente e non come i campi di input.

C'è qualcosa di speciale per Safari alle risposte che digitano nei campi di testo di input?

+0

stesso problema. hai trovato una soluzione? – oyatek

+0

No, non ho trovato una soluzione. Ma è interessante che Chrome non abbia questo problema. È basato anche sul WebKit. –

+0

L'ho trovato :) per favore vedi la mia risposta qui: http://stackoverflow.com/questions/26149532/why-does-safari-mobile-have-trouble-handling-many-input-fields-on-ios-8/ 34931704 # 34931704 – oyatek

risposta

3

Per quelli che hanno bisogno della risposta. La risposta è di avvolgere il testo in questione in un wrapper di moduli separato.

Ecco un caso d'uso che lo risolve. (Ancora una volta, questo è un problema che è applicabile solo a safari, sembra funzionare bene in entrambe le direzioni su Chrome)

http://jsbin.com/hoxufu/1/edit?html,css,js,output