Newsgroup: it.comp.lang.javascript
Titolo: Problema javascript su ipad/iphone, codice in errore

Scusate è la prima volta che mi cimento in una versione mobile di un 
piccolo sito (personale, non sono un pro) e mi sono imbattuto in un 
errore che non so cosa sia.
 
Praticamente da Ipad e Iphone, qualunque browser usi, ho una procedura 
che mi va in errore.
 
Il problema è che non so quale sia.
 
Questo è il mio codice:
 
*************************************************************
 
     //Recupero i numeri assegnati sino ad ora
     var Ord_elenco = [];
     $("#elenco span.label").each(function() {
         var contenuto = parseInt($(this).text());
         if (!isNaN(contenuto)) {
             Ord_elenco.push(contenuto);
         }
     });
 
     var numItems = $('#elenco i.fa-refresh').length;
 
     var Ord_elenco_ordinato = Ord_elenco.sort();
 
     alert('Ord_elenco_ordinato: '+Ord_elenco_ordinato); //alert NUM 1
 
     var numero = $("td[name=User_" + Codice + "").children('span');
 
     alert('numero non json: '+numero); //alert NUM 2
 
     alert('numero: '+JSON.stringify(numero)); //alert NUM 2
 
 
     var i;
     var spazio = false;
     if (Ord_elenco_ordinato.length > 1) {
         for (i = 1; i <= Ord_elenco_ordinato.length; i++) {
             var differenza = Ord_elenco_ordinato[i + 1] - 
Ord_elenco_ordinato[i];
             if (differenza != 1) {
                 numero.text(Ord_elenco_ordinato[i] + 1);
                 spazio = true;
                 break;
             }
         }
     }
 
     if (spazio === false && $.inArray(numItems, Ord_elenco) === -1) {
         numero.text(numItems);
     }
 
}
 
 
******************************************************************************
 
 
Ho debbugato da ipad a colpi di alert (c'è un metodo più efficace?) e 
l'ho fatto passo passo. Qui sopra ho lasciato gli alert più significativi.
 
L'alert NUM 1 restituisce il giusto valore ma poi la procedura non 
esegue l'alert NUM 2 e di qui i guai.
 
 
Cos'è che ipad/iphone non digeriscono?
C'è qualche linea guida che sarebbe bene seguisse per evitare errori in 
futuro?
 
Grazie in anticipo.

 Ho debbugato da ipad a colpi di alert (c'è un metodo più efficace?) e
 
Si iPad non ho idea. Su Android puoi usare i remote debugging tools di 
Chrome (e credo anche Firefox li abbia adesso).
 
Bye.

Grazie Alessandro,
ti confermo che su tutti gli altri browser (Chrome, FF, IE + Android) 
non ho problemi.
 
 >>       var numero = $("td[name=User_" + Codice + "").children('span');
 >>
 >>       alert('numero non json: '+numero); //alert NUM 2
 >>
 >>       alert('numero: '+JSON.stringify(numero)); //alert NUM 3
 >
 > "numero" è un oggetto jQuery, una collection che include tutti gli span
 > dentro quel td.
 > Cosa ti aspetti che ti stampi?
 
Qualsiasi altro browser, in quel punto, mi stampa:
alert NUM 2: 'numero non json: [object][object];
alert NUM 3: 'numero: ' tutti i dati dell'oggetto numero.
 
 
Su Ipad e Iphone non viene stampato ne l'alert NUM 2 ne l'alert NUM 3, 
non compaiono proprio gli alert.
 
Per quello che avviene dopo seguirò certamente il tuo consiglio ma che 
posso provare per superare questo blocco?


Aggiungo una info, che a quanto letto su Google potrebbe essere importante.
 
Lo span che vado a cercare tramite
 
var numero = $("td[name=User_" + Codice + "").children('span');
 
è aggiunto all'elemento TD, dinamicamente, da codice precedente a quello 
scritto.
 
Quindi è uno span aggiunto dopo che il DOM è stato caricato (spero di 
non aver scritto castronerei).
 
Ripeto che sia da browser desktop che device android il problema non 
sussiste.
 
 
 
 
 
Il 31/10/2015 08.45, Alessandro Pellizzari ha scritto:


Allora... sono un pirla. :(
 
Il primo errore "grave" sta qua:
 
var numero = $("td[name=User_" + Codice + "").children('span');
 
manca la chiusura ] del tag TD. :(
 
Nessun browser testato me l'ha segnalato, assurdo. :(
 
Ora lavoro sul ciclo come mi ha segnalato.
 
Grazie
 
 
 
 
Il 31/10/2015 08.45, Alessandro Pellizzari ha scritto:
