comportamento anomalo con IE 9 e 10

ans66

Utente Attivo
27 Ago 2011
158
0
16
Si. ho caricato gli ultimi file che mi hai inviato.

Ti ho passato per email tutto il lavoro di controllo fatto con IE Tester (che purtroppo non conosco molto) su IE 7,8,10 (9 non funziona) e ovviamente quello che mi avevi chiesto con F12 di IE.

Ho usato immagini (print screen) per farti vedere in diretta, passo per passo.
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
ma c'è una cosa al momento che mi è incomprensibile,
la risposta che ti da il server è una pagina html !
...
quindi oso dire che il "metodo client/server per ottenere dati, centra poco ...
ciao
Marino

Ho provato con IE in locale, inserendo il tuo alert:
Codice:
if (form_tag == "select#Diametro"){ alert(data); }
e ho come data una pagina html dove solo una parte racchiude le Select.

Ma credimi è sempre stato così....non so se questo sia un problema.

Ho provato anche con Google Chrome e Firefox e non cambia: ho sempre una serie di istruzioni html seguite poi dalle select.
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciao Marino,

eventualmente non si potrebbe provare a modificare il contenuto di data come segue:

Codice:
xmlhttp.onreadystatechange=function()
			{
				if (xmlhttp.readyState==4 && xmlhttp.status==200)
				{
					data = xmlhttp.responseText;
					if (via==1) { $(form_tag).removeAttr("disabled"); }
          
          var n = data.indexOf("<select");
          data = data.substring(n)
          
					$(form_tag).html(data);
					if (form_tag == "select#Diametro"){ 
          
           }
				}
			}

Ho provato questo codice solo in localhost e funziona senza problemi.

Lo carico in rete solo se mi dai tu l'ok
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
ciao Antonio, si l'idea è giusta, estrarre solo le select-option-select dal documento che arriva dal server,
l'unica cosa, aggiungerei anche la posizione di fine della stringa da estrarre per evitare la "coda" del documento se ci fosse
poi eseguirei l'operazione solo nel caso 1, ovvero popolazione delle tabelle perché il contarecord funziona
(differenza di comportamento tra tag select e tag div .... ?)
anche se con qualche ridondanza ti posto il codice modificato
Vedi l'allegato tabella5_GET_20141109_2.zip
se lo metti in linea sono curioso di provare con XP
ciao
Marino
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
ho caricato tabella5.js. Purtroppo provando con IE tester ho il solito risultato
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
prova a vedere win xp, gestisce male le select perché i valori ci sono,
confronta applicazione e volvenza, guarda tra le option di volvenza, i valori ci sono
ciao
Marino
Cattura.PNG
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
hallo, how are you doing ?
so, good news, xp ie8 it's working fine ... and very fast ...
all the best for your journey
Marino
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Great! Really Well Done! Grazie davvero. Non vedo l'ora di poter vedere con calma la tua ultima versione del file tabella5.js e di imparare qualcosa di nuovo.
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
vorrei riepilogare i post (tanti) con un ultimo, dicendo quello che è stato fatto, magari postando il set dei files ..., pensi sia corretto ?
ciao
Marino
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciao Marino,

Sono d'accordo. Ho bisogno solo di tornare e fare una piccola verifica. Il week-end sicuramente aiuterà.

Ciao
Antonio
 

ans66

Utente Attivo
27 Ago 2011
158
0
16
Ciao Marino,

Confermo che tutte le prove effettuate sia con IE tester (fino alla versione IE 7) che su computers con sistema operativo XP e Windows 8 hanno dato un esito positivo. Il contatore svolge il suo compito, correttamente e velocemente, alla fine del popolamento delle Select. Le Select vengono popolate senza alcun errore. Anche la lista delle ruote con immagini viene caricata velocemente.

Direi che tutto funziona egregiamente!

Grazie davvero di tutto!!!!
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
sono contento che insieme siamo riusciti a venire a capo dei problemi,
per chi ci ha seguito, vorrei riepilogare gli oltre 120 post che nelle 3 discussioni, hanno portato a risolvere i diversi problemi,

http://forum.mrwebmaster.it/jquery/...tabase-tramite-query-lanciata-php-jquery.html
http://forum.mrwebmaster.it/ajax/41066-comportamento-anomalo-ie-9-10-a.html
http://forum.mrwebmaster.it/javascript/40581-errato-funzionamento-script-ie-10-ie-tester.html

l'obiettivo iniziale é stato quello di rendere più veloce la risposta del database, quando interrogato con una select con molte join
la struttura del database era ben definita ed é stato facile trovare la soluzione, in prima battuta creando una view che incorporasse le join
senza modifiche alla struttura del db, ottenendo un miglioramento della risposta e come secondo passo, inserendo gli elementi di ricerca della tabella principale,
in alcune tabelle usate come riferimento per guidare gli utenti nelle ricerche stesse,
in questo modo si rendevano disponibili i "puntatori" alla tabella principale che hanno permesso di eliminare le join
con la miglior performance possibile

nel contempo il codice è stato revisionato, migliorando la leggibilità e soprattutto sistemando i tag non perfettamente a posto della pagina html

il codice è stato sviluppato per utilizzare il metodo client/server ed é questa formulazione che ha comportato i maggiori problemi per un corretto funzionamento
nello specifico, alla scelta nei menu a tendina (di base, popolati al caricamento della pagina),
HTML:
<td>
  Applicazione/Application:
  <select id="applicazione" name="applicazione">
    <?php echo $opt->ShowApplicazioni($lng); ?>
  </select> 
</td>
viene attivato il codice javascript con l'intento di popolare altri 8 menu a tendina e quindi, contare i record che verrebbero selezionati nel database con le scelte fatte
HTML:
<td height="50">
  Diametro/Diameter: <label for="Diametro" name="Diametro2" id="Diametro2" > </label> 
  <select name="Diametro" id="Diametro">   
    <option value="0">scegli...</option>
  </select>  
</td>

uno script php é incaricato di recuperare le "option" dal database per popolare i menu a tendina
ed un secondo per il conteggio degli elementi, (il conteggio avviene per ogni scelta fatta nei menu a tendina)

problemi risolti in "questa esperienza",

il metodo POST, usato in origine, è stato sostituito con il metodo GET, perché GET sembra più affidabile,
i parametri vengono passati nell' URL anziché nella "SEND"
PHP:
xmlhttp.open("POST", "characteristics.php", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send
(
	"funzione="	+ funzione
+	"&id="		+ applic
+	"&id2="		+ comeR
+	"&lng="		+ lang
);

PHP:
var xURL = "characteristics.php?funzione="+funzione+"&id="+applic+"&id2="+comeR+"&lng="+lang
xmlhttp.open("GET", xURL, true);
xmlhttp.send(null);


la cache restituiva lo stesso conteggio dei record pur con "option" diverse selezionate,
ovvero il server non vedendo variazioni della "chiamata", diceva al client di usare i valori presenti nella cache,
sono state aggiunte le ultime cifre del timer nel URL, per rendere la "chiamata" univoca
PHP:
var xURL = "elementscount.php?timestamp=" + (new Date().getTime())%100000
+	"&id="		+ applic
+	"&id2="		+ comeR
+	"&dmt="		+ v_dmt
+	"&suppt="	+ v_suppt ......


il conteggio deve avvenire dopo che tutti i menu a tendina sono stati popolati,
altrimenti non sono disponibili i parametri per la query,
ma il "browser" esegue il codice, in questo caso le chiamate Ajax (Asynchronous Javascript And Xml), nell'ordine che preferisce al momento
é stata utilizzata una soluzione semplice per controllare che il conteggio avvenisse al termine delle altre chiamate,
ovvero, vengono popolate le "<select>" con una riga "attendere" e quando si esegue la funzione di conteggio,
viene controllata la loro presenza per cui la funzione di conteggio viene rieseguita ma ritardata di 0,5 secondi,
con un limite di 15 volte per evitare il blocco/crash del browser (15 é un valore cautelativo)

PHP:
var attendere	= '<option value="-1">Attendere...</option>';

$("select#"+form_tag).html(attendere);

function ContaRecords(i)
{
i++; if (i > 15) { alert('attenzione I > 15'); return false; }
if (
	v_dmt==-1
||	v_suppt==-1
||	v_lamier==-1
||	v_pavt==-1
||	v_vol==-1
||	v_Ruot==-1
||	v_por==-1
||	v_seriesup==-1
) { setTimeout(function () { ContaRecords(i); }, 500); return false; };


ma il problema più consistente é stato capire che i test fatti in ambiente MS IIS 7.5 differivano dall'ambiente operativo (senza possibilità di accesso) gestito con Apache
ovvero IIS restituisce nelle chiamate client/server la "stringa", risultato dell'operazione
Apache restituisce un documento html, in questo secondo caso bisogna estrarre il risultato dal documento,
pena il mancato funzionamento dell'applicazione con browser IE diversi
certo poi la soluzione è semplicissima ... (grazie Antonio)
PHP:
	var n1 = data.indexOf("<option");
	var n2 = data.indexOf("</select>");
	data = data.substring(n1, n2);
}
$(form_tag).html(data);
questo comportamento, farebbe pensare di inserire un tag "personale" di apertura e chiusura della stringa dei dati
in modo da estrarre la stringa correttamente, rendendo tutto indipendente dall'ambiente,
(esempio : #mytag# stringa da restiture #/mytag#)

tutto quanto descritto é riferibile a "questa esperienza", altre situazioni (configurazioni) potrebbero portare risultati diversi
ciao
Marino
 
Discussioni simili
Autore Titolo Forum Risposte Data
max1974 Comportamento Anomalo PHP PHP 3
C [PHP] Controllo <select> comportamento anomalo PHP 2
L Comportamento anomalo dei button type submit PHP 1
carla146 comportamento anomalo winxp sp3 risorse del computer Windows e Software 0
E Strano comportamento di 'use' in php PHP 2
S [HTML] Comportamento di due elementi block level flottanti HTML e CSS 2
jonnino2004 strano comportamento del posizionamento su google SEO e Posizionamento 5
A [PHP] Strano comportamento Form PHP 1
S Comportamento strano php/html... PHP 10
A Strano comportamento dello slash / al fondo dell'URL HTML e CSS 1
B gestione eventi con addEventListener,comportamento strano dell'handle Javascript 2
gandalf1959 Funzione di controllo su un form, comportamento inaspettato Javascript 6
M Comportamento strano di questo script per caricamento file sql in database PHP 7
C strano comportamento file css HTML e CSS 2
M Strano comportamento pagina HTML e CSS 4
A modificare comportamento 'position' in stile CSS Javascript 0
A strano comportamento di $_FILES nel controllo PHP 11
S strano comportamento a:hover su immagine HTML e CSS 7
IImanuII Esistenza di file e cartella comportamento script PHP 2
V Strano comportamento sessioni PHP 6
M mappa google e comportamento variabili... Javascript 0
J strano comportamento di due codici apparentemente identici..... PHP 1
SolidSnake4 strano comportamento script Ajax 6
A Differenza comportamento tra click mouse e pressione tasto invio Visual Basic 0
L comportamento con Actionscript Flash 0
T comportamento per collaborazione Discussioni Varie 0
S comportamento strano delle sessioni PHP 0
A diverso comportamento fra server locahost ed in rete Apache 1
PoLe Strano comportamento del PC Sicurezza e Virus 4
S Strano comportamento di 'Subscribed Threads' Supporto Mr.Webmaster 2
R Problemi anomalo insermento in db PHP 9
otto9due Error anomalo durante invio dati $.ajax Ajax 20
MrClog comortamento anomalo dei DIV HTML e CSS 19
Y problema anomalo con window.location.href Javascript 2
A incremento anomalo di una variabile in un file .txt PHP 12
N un "if" anomalo... PHP 11
P Anomalo: non mi carica il player Flash 8
F access ricerca record con apostrofo. MS Access 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
C Come ricreare questo calcolatore di prezzi a step con woocommerce? WordPress 0
C Segnalo barra laterale di navigazione ASSENTE con Chrome Comunicazioni dallo Staff 5
G Guadagna dalla Vendita di Articoli Sponsorizzati con GuestPostMax.com! Guadagnare col Sito 0
P Hosting multidominio con Plesk Hosting 0
L Soluzione con INNER JOIN Database 0
S passare un valore da un form a un file .php con metodo post PHP 4
A Redirect 301 genera url statico con variabili Web Server 0
T problemi con dati menu a tendina HTML e CSS 2
T Query con date MS Access 1
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
L Aiuto con DataGridView Visual Basic 1

Discussioni simili