Domanda

Ho appena trovato una soluzione a uno dei bug più strani che abbia mai visto e sto ancora cercando di trovare il motivo ...

Ho ottenuto un vecchio CMS in ASP classico. Nella pagina dell'editor c'è un JavaScript che modifica una proprietà dell'immagine:

function removeimg(objimg){
    objimg.onclick = "";
    objimg.src = "/Logiciel/_Altitude_image/interface/Gestion_acces/spacer.gif";
    objimg.width = 16;
    objimg.style.cursor = "arrow";
}

Uno dei miei clienti che utilizza IE6 mi ha detto che quando stava salvando il suo contenuto in inglese, lo stava sovrascrivendo in francese, ma la lingua è stata salvata in una sessione ASP classica, quindi ho iniziato a studiare il bug (nessuno dei miei 200 altri clienti hanno avuto quel tipo di problema) quindi dopo aver testato più volte mettendo response.end nel codice e response.write della mia sessione per scoprire dove stava cambiando ho scoperto che era nel javascript stesso

Questa è la parte che non posso spiegare ... Ho dovuto mettere objimg.style.cursor = " arrow " ; in un primo momento in commento per rendersi conto che una volta che quella linea era fuori non c'era più problema con la mia sessione ASP.

Quindi dopo alcuni test ho cambiato objimg.style.cursor = " arrow " ;; in objimg.style.cursor = " pointer " ;; e ha funzionato va bene. Mi chiedevo se qualcuno avesse avuto quel tipo di problema prima e se qualcuno potesse spiegarmi come la modifica di un cursore potesse influenzare la mia sessione ASP classica sul lato server

Grazie.

È stato utile?

Soluzione

È un bug in IE: quando trova viene assegnato un valore non valido, come arrow , per la proprietà cursore da uno script (anche se non nei CSS) lo tratta in modo errato come se fosse url (freccia) e tenta di recuperare il file di immagine chiamato " arrow " che ritiene che dovrebbe essere visualizzato. Questa richiesta HTTP aggiuntiva invierebbe tutti i cookie associati alla pagina da cui è stata effettuata. I cookie includerebbero il cookie identificatore di sessione ASP e presumibilmente questa richiesta imprevista e fuori sequenza influiva in qualche modo sul codice relativo alla sessione.

(A proposito, se si suppone che il cursore sia il solito cursore a freccia, il valore corretto è default ; pointer è il cursore associato al passaggio del mouse su un collegamento Ma forse è quello che si voleva in primo luogo.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top