我的代码工作正常,直到IE 9版本。但在IE 10和Mozilla和Chrome中打破。
经过一些骚扰后,我发现这是由于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>
=========================
代码在以下之后破裂:
tagname.context.childNodes(0)
=&gt; tagname.context
未定义。
我将其更改为:tagname(0)
,它在IE 10中有效,但它在IE8中无效。
任何建议如何在此处进行更改以使其在任何地方都能正常工作。
答案 0 :(得分:0)
使用条件编译来定位ie10并使用适用于ie10的代码。使用以前的代码10以下。不知道这对gecko和webkit有何帮助...
@cc condional汇编参考:http://msdn.microsoft.com/en-us/library/ie/8ka90k2e(v=vs.94).aspx