Notizie: puoi sempre seguire i nostri aggiornamenti su Twitter (@MozillaItalia) e Facebook (/MozillaItalia)

Autore Topic: Firefox 3.0.3: responseText di XMLHttpRequest riceve caratteri errati dal serve  (Letto 8317 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Prova un po' così (non ho netscape, quindi a te l'onere del test!):

Codice: [Seleziona]
if (! document.all && ! document.layers) {
  // questa chiamata viene fatta solo da Firefox, sia 2 che 3
  client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;
charset=UTF-8");
  client.overrideMimeType("text/html; charset=UTF-8");
}
else {
  // questa viene fatta dagli altri browser
  client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}

Un'alternativa é:

Codice: [Seleziona]
var isFirefox = navigator.userAgent.toLowerCase().indexOf("firefox") > -1;
if (isFirefox) {
  // questa chiamata viene fatta solo da Firefox, sia 2 che 3
  client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;
charset=UTF-8");
  client.overrideMimeType("text/html; charset=UTF-8");
}
else {
  // questa viene fatta dagli altri browser
  client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}

La soluzione 2 è in teoria quella che ti dà meno problemi di test, però può fallire se l'utente modifica in qualche modo l'useragent (ad esempio usando l'estensione User Agent Switcher).
La soluzione 1 non è influenzabile in nessun modo dalle scelte dell'utente, ma ti tocca provarla un po' su tutti i browser.
« Ultima modifica: 13 Ottobre 2008 11:58:07 da klades »

0 Utenti e 1 Visitatore stanno visualizzando questo topic.