`

Firefox火狐的一个奇特的错误

阅读更多

最近写一个关于用JavaScript做图片自动切换问题发现一个非常奇特的问题,除了空格和换行外完全相同的代码,在Firefox下却有截然不同的运行结果,今天记录以提供他人留意及自我备查。

废话不多说,先上代码给大家看看

代码1
<!-- {cps..0}--><! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=utf-8"   />
< title > 依依园地 </ title >
</ head >
< body >
    
< div  id ="win" >
        
< ul  id ="picChange" >
            
< li >
                
< img   src ="images/01.jpg"  title ="图片1" ></ li >
            
< li >
                
< img   src ="images/02.jpg"  title ="图片2" ></ li >
            
< li >
                
< img   src ="images/03.jpg"  title ="图片3" ></ li >
        
</ ul >
    
</ div >
< script  type ="text/javascript" >
var  pic  =  document.getElementById( ' picChange ' );
var  picList  =  pic.getElementsByTagName( " li " );
alert(picList[
0 ].firstChild);
</ script >
</ body >
</ html >

 

 以上代码1请分别在Firefox和IE中运行,Firefox出现的是 [object Text] ,而IE中出现的是[object],这里IE和Firefox都把picList[ 0 ].firstChild 这个对象当作object对象,Firefox提示是Text类型对象,IE没有提示更细了。

我们再运行下面这部分的代码看看,看清楚了,代码本身相同,但是li下面没做换行缩进。

代码2
<!-- {cps..1}--><! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=utf-8"   />
< title > 依依园地 </ title >
</ head >
< body >
    
< div  id ="win" >
        
< ul  id ="picChange" >
            
< li >< img   src ="images/bigpic/01.jpg"  title ="护腰/HY005" ></ li >
            
< li >< img   src ="images/bigpic/02.jpg"  title ="枕头吊臂/DB-004" ></ li >
            
< li >< img   src ="images/bigpic/03.jpg"  title ="大护脚/HY-001" ></ li >
        
</ ul >
    
</ div >
< script  type ="text/javascript" >
var  pic  =  document.getElementById( ' picChange ' );
var  picList  =  pic.getElementsByTagName( " li " );
alert(picList[
0 ].firstChild);
</ script >
</ body >
</ html >

以上代码2请分别在Firefox和IE中运行,Firefox出现的是 [object HTMLImageElement] ,而IE中出现的是[object],这里IE和Firefox都把picList[ 0 ].firstChild 这个对象当作object对象,Firefox提示是HTMLImageElement类型对象,IE没有提示更细了。

上下两种写法只是缩进和换行的差别,在IE中被认做相同的object对象,可是不同的缩进在Firefox中却代表了不同的对象,Firefox对HTML的解析实在令人费解。

再此做记录,希望各位朋友看了有用,别因为跟我一样的问题半天没找到解决问题的方法。

0
1
分享到:
评论
1 楼 waiting 2010-11-07  
你试试看在代码2中 img前面加个空格。

相关推荐

    Firefox火狐安装软件window7

    Mozilla Firefox,中文俗称“火狐”(正式缩写为Fx或fx,非正式缩写为MF),是一个自由及开放源代码的网页浏览器,使用Gecko排版引擎,支持多种操作系统,如Windows、Mac OS X及GNU/Linux等。该浏览器提供了两种版本...

    Redhat linux重装firefox、配置yum依赖库(2016.4.8测试有效)带Firefox安装包

    一、删除firefox #rpm –e –nodeps firefox 二、配置yum 1、下载配置文件 http://mirrors.163.com/.help/CentOS6-Base-163.repo 将此配置文件改名CentOS6-Base.repo后替换/etc/yum.repos.d下的同名文件 2、编辑...

    firefox调试错误插件

    firefox调试错误插件

    linux 64bit firefox

    很多较老版本的linux不支持flashplayer10,而且flashplayer10,致力于32bit系统,如果您是32bit的linux系统,那么您很幸运,你只需要下载一个相应版本的libflashplayer.so放大您的firefox插件目录下即可,但是如果您...

    Firefox 火狐浏览器 24.0

    Firefox 火狐浏览器 24.0 2013 年 09 月 17 日最新发布 更新内容: 支持 Mac OS X 10.7 或更高版本上新的滚动条样式 新增“关闭右侧标签页”功能 Social: 将聊天窗口拖拽成独立窗口 不再支持证书废除列表功能...

    Firefox火狐浏览器 64位_66.0.3.7038.exe

    一个自由的、开放源码的浏览器。适用于Windows,Linux和MacOS X平台。现在就行动开始享受安全、速度等方面的各种新特性提升,开始互联网冲浪的新体验

    firefox firebug js错误

    firefox firebug js错误 firefox firebug js错误 firefox firebug js错误

    怎样去掉Firefox进程plugin-container.exe

    而从3.6.4开始,firefox把插件独立出来一个进程,可以避免由于插件错误而造成的firefox崩溃。  事实上一个正式版的浏览器的崩溃基本上都是由于flash等插件引起的。而firefox是将每个网页都设置成为一个独立的进程。...

    firefox 14 和网页开发的插件

    Firefox 是一个快速、安全且灵活的网页浏览器,这是我们的使命。 网站优化必备的9个Firefox插件 在网页设计制作中经常使用到的火狐浏览器插件工具: 1. Firebug Firebug是开发人员们钟爱火狐浏览器的一个重要...

    用Visual Studio 2005编译Firefox所需要的补丁

    用Visual Studio 2005编译Firefox所需要的两个头文件补丁,替换系统原来的头文件可以解决用Visual Studio 2005编译Firefox的错误

    Firefox-Security-Toolkit:一种将Firefox浏览器转换为渗透测试套件的工具

    同时, Firefox Security Toolkit不需要额外的维护,尽管我会在需要时针对任何问题/错误对其进行维护。 使用的扩展程序是从Mozilla Addons Store下载的最新版本,以确保渗透测试仪具有最佳的测试

    Firefox(火狐浏览器)安装文件

    强大的火狐浏览器最新版 拥有错误检测等功能

    Firefox_25.0.exe

    支持loadrunner,测试过是可以使用的,大家可以下载!

    flex 利用FileReference上传firefox报2038错误

    flex 利用FileReference上传firefox报2038错误,在网上收集的一些解决办法和资料

    demo-firefox-selenium-bug:在 Selenium 中演示 Firefox 错误

    演示 Firefox Selenium 错误要重现该错误,只需克隆此代码并运行: npm installCLIENT=selenium:firefox npm test您应该会看到一个空的 Firefox 窗口,并且测试将挂起。 而如果你运行: CLIENT=selenium:firefox npm...

    Windows+VB.Net开发FireFox浏览器扩展(Extension)并实现sendNativeMessage消息示例

    Windows+VB.Net开发FireFox浏览器扩展(Extension)并实现sendNativeMessage消息示例。 需要在注册表[HKEY_CURRENT_USER\Software\Mozilla\NativeMessagingHosts]下增加一个demo项,默认值为Demo.json的完整路径。...

    firefox集成了Firebug,JavaScript Debugger,YSlow

    通过Firebug来编辑、调试和监控任何页面的CSS、HTML和JavaScript,你可以简单的查找页面中的HTML... 对于如何评估网站性能有一个非常著名的“22条军规”,为您的网站自动生成性能评估报告,并且提供相应的修改意见。

    Waterfox 16 绿色版 64位 Firefox

    Waterfox是一个纯64位版的火狐浏览器,它使用Firefox官方源码,专门为64位Windows操作系统优化编译而成。Waterfox内置了最新Flash、Java和Silverlight插件的64位版本。支持任何官方火狐支持的扩展。 如果提示msvcr...

    firebug firefox插件

    这是Firefox的调试JavaScript的好东西,可以快速发现脚本文件中的错误

    Firefox_focus-android-master:火狐开源浏览器使用Kotlin,java混合编码

    Android版Firefox Focus 浏览无人观看。 全新的Firefox Focus自动阻止各种在线跟踪器-从启动它到退出它的第二秒。 轻松擦除您的历史记录,密码和Cookie,因此不会再出现垃圾广告之类的事情。 Firefox Focus在易于...

Global site tag (gtag.js) - Google Analytics