Voici un code (en utilisant jquery) que j'utilise pour télécharger un fichier html à partir duquel j'extrais une table et son contenu.IE6: Télécharger le html sans exécuter le javascript contenu, en ISO-8859-1 jeu de caractères
var url = $('#url').val(); // url to access
if ($.browser.msie && $.browser.version.substr(0,1)<7) {
var frame = $('<iframe/>').css('display', 'none').attr('src', url);
frame.appendTo('body')
.load(function() {
var data = frame.contents()[0].firstChild.innerHTML;
frame.remove; // kill the frame
extractReport(data); // extract the data table
}); // load
}
else {
$.ajaxSetup({
'beforeSend' : function(xhr) {
xhr.overrideMimeType('text/html; charset=ISO-8859-1');
}
}); // ajaxSetup
$.ajax(
{
async:false,
url:url,
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
},
success:
function(data, textStatus, XMLHttpRequest) {
extractReport(data);
}
}); // ajax
} //else
Mon problème est que lorsque j'utilise un objet XMLHttpRequest actif-X dans IE6, le responseText contient des déchets pour les caractères français. J'ai réussi à contourner cela avec un iframe (ie6 ne supporte pas overrideMimeType que j'utilise pour Firefox). Mais maintenant le javascript contenu dans le cadre html est exécuté. Existe-t-il un moyen pour IE6 de télécharger mon fichier html dans le bon jeu de caractères sans exécuter le javascript?
Remarque: Je ne suis pas autorisé à modifier la configuration Apache pour forcer un jeu de caractères ISO-8859-1.
Mon idée: Le html peut-il être téléchargé en texte brut avec un ActiveX? Le seul que je connaisse est ActiveXObject ("Msxml2.XMLHTTP.6.0") et il échoue.
Bon !!
À utiliser avec retenue. Si nous parlons d'une application intranet d'entreprise où les paramètres sont assez cohérents, cela peut fonctionner, mais ce n'est pas vraiment adapté à l'Internet ouvert. – bobince