저는 IE 9 버전까지 잘 작동하는 코드를 가지고 있습니다. 그러나 IE 10과 mozilla 및 크롬을 깨고 있습니다.JS 코드가 IE 10 및 다른 브라우저에서 깨졌습니다.
Firebugging을 수행 한 후 JS에서 작동하지 않는 문제가 있음을 발견했습니다.
function FillAlbumList()
{
var tagNameTest = ''AlbumTable'';
var dsRoot = objXMLHTTP.responseXML.documentElement;
var tagname = dsRoot.getElementsByTagName(tagNameTest);
var optEquipment = dsRoot.getElementsByTagName("AlbumTable");
var tblAlbumList = document.getElementById('tblAlbumList').getElementsByTagName("tbody")[0];
var rows = tblAlbumList.rows.length;
var tblID = document.getElementById('dlOptFeature').getElementsByTagName("tbody")[0];
var optArray = new Array();
if(tagname.context.childNodes(0) != null)
{
gTotalAlbumCount = tagname.context.childNodes(0).parentNode.childNodes.length;
// find the first album ID from list of Albums
fstID = dsRoot.getElementsByTagName("fstAlbumID").context.childNodes(0).childNodes(1).text;
// find the first album name from list of Albums
fstName = dsRoot.getElementsByTagName("fstAlbumName").context.childNodes(0).childNodes(0).text;
// loop through each node from XML object and populate value inside the table.
for(var i=0;i<tagname.context.childNodes(0).parentNode.childNodes.length;i++)
{
if (tagname.context.childNodes(i).tagName == "AlbumTable")
========================= 여기 dsRoot
은 다음과 같습니다 : 여기
코드입니다<Album>
<AlbumTable>
<AlbumName>1B0EE6DBB8FE_18-20-25</AlbumName>
<AlbumId>3</AlbumId>
<UploadedDate>12/3/2013 6:20:48PM</UploadedDate>
<TotalImages>10</TotalImages>
<RemainingImages>10</RemainingImages>
</AlbumTable>
<AlbumTable>
<AlbumName>1B0EE6DBB8FE_18-01-32</AlbumName>
<AlbumId>2</AlbumId>
<UploadedDate>12/3/2013 6:02:01 PM</UploadedDate>
<TotalImages>10</TotalImages>
<RemainingImages>10</RemainingImages>
</AlbumTable>
<fstAlbumID>3</fstAlbumID>
<fstAlbumName>1B0EE6DBB8FE_18-20-25</fstAlbumName>
</Album>
=========================
코드가 파괴 된 후 :
,536,tagname.context.childNodes(0)
=>tagname.context
은 정의되지 않았습니다.
tagname(0)
으로 변경했으며 IE 10에서 작동했지만 IE8에서는 작동하지 않았습니다.
모든 제안을 어디에서나 사용할 수 있도록 여기에서 변경해야합니다.