Je dois créer un projet pour travailler en utilisant HTML5/CSS3/JavaScript et en utilisant XML comme fournisseur de données. Les exigences stipulent qu'il doit être compatible avec Internet Explorer, Firefox, Safari et Chrome. Je suis en train de développer dans Firefox, donc ça marche très bien. Safari fonctionne comme un régal, et heureusement, il fonctionne parfaitement dans le nouveau IE9. Je n'ai que des problèmes pour le faire fonctionner dans Chrome. Étant donné que Chrome semble prendre en charge un grand nombre des nouvelles fonctionnalités HTML5/CSS3, il ne devrait pas être trop difficile de le faire tourner dans ce navigateur. Le seul problème est qu'il refuse de charger le fichier XML, et puisque cela est requis dès le départ, tout ne se chargera pas. Après avoir fait quelques recherches, j'ai trouvé des messages indiquant que Chrome ne vous permet pas de charger des fichiers XML locaux. Il devrait fonctionner hors ligne sans utiliser Apache ou quoi que ce soit, alors est-il possible de le faire fonctionner?Chargement du fichier XML local dans Chrome
Le bout de code où je charge mon XML en fonction du navigateur utilisé:
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
// INTERNET EXPLORER
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
try {
xmlDoc.async="true";
xmlDoc.load("exercise1.xml");
} catch(ex) {
alert("exception");
alert(ex.message);
}
}else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
// MOZILLA FIREFOX
// load xml file
xmlDoc=loadXMLDoc("exercise1.xml");
}else if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
// GOOGLE CHROME
// load xml file
// ????????
}else if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
// OPERA
alert("Opera is not supported as of now");
}else if (browser.toLowerCase().indexOf('safari') > 0){
// APPLE SAFARI
// load xml file
xmlDoc=loadXMLDoc("exercise1.xml");
} else {
// OTHER BROWSERS
// load xml file
xmlDoc=loadXMLDoc("exercise1.xml");
}
utiliser Firefox et Safari un JavaScript externe pour charger le XML. Je ne pense pas qu'il soit vraiment nécessaire de publier ce code ici, car il fonctionne parfaitement bien dans ces navigateurs.
Peut-être que je l'ai oublié quelque chose simple, mais je l'ai fait un peu juste de googler et essayé un code trouvé ici sur Stackoverflow, et je ne peux toujours pas à travailler ..
Vous aurez également besoin de l'option --allow-file-access-from-files lors de l'exécution de Chrome pour que cela fonctionne. –