Prova un po' così (non ho netscape, quindi a te l'onere del test!):
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 é:
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.