Hy all,
Я использую код, который проходит через XML-файл и показывает мне данные. Этот код прекрасно работает в IE, Firefox и Opera. Теперь я хотел бы узнать, какнастроить его для работы в Chrome ..
Используя navigator.appName == "Microsoft Internet Explorer"
и navigator.appName == "Netscape"
, я смог проверить подлинность используемого браузера и использовать ли объекты ActiveX или httpRequest.
Имея в виду, при предупреждении navigator.appName
на Chrome, Firefox и Opera, я получаю Netscape.
Это полная версия моего кода:
<html>
<body>
<script type="text/javascript">
alert(navigator.appName);
if (navigator.appName == "Microsoft Internet Explorer") {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
xhttp.open("GET", "http://www.multimediaprof.com/test/emp2.xml", false);
}
else if (navigator.appName == "Netscape") {
xhttp = new XMLHttpRequest();
alert("step 1");
xhttp.open("GET", "emp2.xml", false);
}
alert("step 2");
xhttp.send("");
alert("step 3");
xmlDoc = xhttp.responseXML;
alert("step 4");
alert(xmlDoc);
document.write(xmlDoc.documentElement.nodeName + " loaded");
alert("step 5");
var str = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
alert("step 6");
alert(str);
</script>
</body>
</html>
Новая полная версиякода, предложенного сейчас:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var xhttp, xmlDoc, str;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
xhttp.open("GET", "emp2.xml", false);
} else if (window.ActiveXObject) {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
xhttp.open("GET", "http://www.multimediaprof.com/test/emp2.xml", false);
} else {
alert("Cannot create XmlHttpRequest object");
}
if (xhttp) {
xhttp.send("");
if (xhttp.responseXML != null) {
xmlDoc = xhttp.responseXML;
str = xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
alert(str);
} else {
alert("Server response was invalid.");
}
}
</script>
</head>
</html>