在那里,
我正在开发基于大量PHP和JS代码的小型Web应用程序,并且偶然在Firefox中打开了当前的index.php而不是Chrome(我的主要开发浏览器)。
我很震惊地看到我的一个主要组件 - 图表(由amCharts制作)根本没有渲染。奇怪的是,amCharts的水印显示出......
现在我认为它只是一个hickup并打开IE浏览器以进行比较,但同样的问题也存在。
我回到了Chrome,那里的一切都很好。这让我很困惑,让我觉得这是一个代码问题,例如某处有一个未公开的括号。所以我将我的代码粘贴到几个PHP / JS / HTML验证器中,没有任何命中。
此外,我为Firefox下载了Firebug插件,希望找到某种错误,但没有找到。
我还试图在我的代码中插入一些“console.log”段落,以查看代码执行是否在某个时刻停止,也没有运气。所有日志消息都显示正确的值。
现在我有点在我的智慧结束......
有没有人有一个想法/有类似的问题,知道如何解决这个或是什么导致这个或如何找出导致这个的原因?
非常感谢您提供的任何帮助。
最好的问候, daZza
编辑:
我对console.log命令进行了微调,并基本上回溯了每一步。我现在已经找到了问题,但不知道它的来源。基本上我对编程逻辑的全部看法现在正在分崩离析......同一个命令在另一个浏览器中返回不同的结果,到底是什么?!
以下是问题区域的一些代码片段:
xmlData = xmlHttp.responseXML;
var x=xmlData.getElementsByTagName("row");
xmlRowCount = x.length;
console.log("Rowcount: " + xmlRowCount);
for (i=0;i<xmlRowCount;i++)
{
do something with every row in the source xml file
}
现在的问题是,在Chrome中,rowcount正确返回为417. FF返回0(我猜IE也是如此)。
怎么可能呢?预定义命令如何返回不同的值?我只是不明白......
Edit2:为了完成浏览器测试,我还下载并测试了Opera。它在那里工作得很好,这使整个事情变得更加奇怪。 IE / FF与Chrome / Opera有什么区别?
PS:这里有两个截图(Chrome和FF)可视化问题:
答案 0 :(得分:0)
您可以尝试使用以下代码
var x=xmlData.body.all.tags("row");
或
var x=xmlData.all.tags("row");
希望它有所帮助。