У меня есть html-документ, который создает таблицу с данными, предоставляемую архивом xml. В живом предварительном просмотре скобок adobe я вижу страницу и данные.Пустая страница с HTML, отображающая данные XML
Но, когда я пытаюсь открыть в каком-то браузере, например IE, Firefox или Chrome, страница отображается, просто в пробеле.
Здесь он является частью кода html и ниже, кода xml.
это HTML-код
<!DOCTYPE html>
<html>
<head>
<style>
table { border-collapse: collapse; font-family: Futura, Arial, sans-serif; border: 1px solid #777; }
caption { font-size: larger; margin: 1em auto; }
th, td { padding: .65em; }
th, thead { background: #000; color: #fff; border: 1px solid #000; }
tr:nth-child(odd) { background: #ccc; }
tr:hover { background: #aaa; }
td { border-right: 1px solid #777; }
</style>
</head>
<body>
<script>
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","prueba_new.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<table><tr><th>CardN</th><th>CardC</th><th>CardE</th><th>CardNe</th></tr>");
var x=xmlDoc.getElementsByTagName("CCard");
for (i=0;i<x.length;i++)
{
document.write("<tr><td>");
document.write(x[i].getElementsByTagName("CardN")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("CardC")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("CardE")[0].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(x[i].getElementsByTagName("CardNe")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
document.write("</table>");
</script>
</body>
</html>
Вот код XML, конечно, сам файл XML, содержит несколько сотен записей.
<?xml version="1.0"?>
<numbers>
<CCard>
<CardNe>Volkervun</CardNe>
<CardN>10000034999</CardN>
<CardC>Red Team</CardC>
<CardE>Volker.vcd</CardE>
</CCard>
<CCard>
<CardNe>Lady Mars</CardNe>
<CardN>10009899899</CardN>
<CardC>Blue Team</CardC>
<CardE>LadyM.vcd</CardE>
</CCard>
</numbers>
Я пробую несколько вещей, но никто из них не работает. Некоторая идея для этой пустой страницы?
'document.write', браузеры все еще поддерживают это? Гораздо лучший подход состоит в том, чтобы собрать всю таблицу в памяти (в строковой переменной), а затем поместить ее в элемент контейнера, используя '[контейнерный элемент] .innerHTML = [строковая переменная];' –
Хотя document.write уродливый и устаревшая технология, я не верю, что это преступник. Вы видите ошибку скрипта в консоли разработчика? Можете ли вы попробовать поставить статический текст сразу после
и непосредственно перед для подтверждения правильной загрузки страницы? –Похоже, вы пытаетесь открыть файл без использования локального веб-сервера. Безопасность ограничит ajax таким образом – charlietfl