FireFox连注释都能出问题,气死人啊,大家都碰到过这种情况吗?

蓝色_冰点 2008-12-05 04:19:48
代码如下:
<!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>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
window.onload=function()
{
var row=document.getElementById("TestRow");
alert(row);
}
</script>
</head>
<body>
<form id="frm" action="">
<table border="1">
<!--------------------注释。。。--------------->
<tr id="TestRow"><td>测试</td></tr>
<!--------------------注释。。。--------------->
</table>
</form>
</body>
</html>

在FireFox下打开页面
大家试着把注释中的减号增加几个,或者减少几个,就会发现,有时alert的内容为null,有时正确,而有时竟然连注释的内容,也就是<!--------------------注释。。。--------------->这行东西,直接就显示出来了。TMD,搞得我头晕半天才发现是注释也能注释出错来,强烈抵制FireFox!!!!!!!!!
哪位高手能解释下原因??
...全文
220 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wz_307 2008-12-09
  • 打赏
  • 举报
回复
FF3.0对注释编译有的时候有问题. 这算是一个FF3的小bug, 在FF3.0出来的时候已经有人发现了.
darkfox123 2008-12-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wz_307 的回复:]
FF3.0对注释编译有的时候有问题. 这算是一个FF3的小bug, 在FF3.0出来的时候已经有人发现了.
[/Quote]

这根本就不是bug
wjfmail 2008-12-08
  • 打赏
  • 举报
回复
同意7楼的,多加个空格就是了,搂主这么用本身就有二义性.
cloudgamer 2008-12-07
  • 打赏
  • 举报
回复
zswang 厉害
原来如此啊
王集鹄 2008-12-07
  • 打赏
  • 举报
回复
4楼的文章只是引用不代表本人观点。

我的观点是:测试的结果即真理。不能这样写注释就换种呗。[img=http://p.blog.csdn.net/images/p_blog_csdn_net/renrousousuo/41.gif]图[/img]
darkfox123 2008-12-07
  • 打赏
  • 举报
回复
遇到过,别说firefox 我记得ie的xml解析器都会出错.

你把他改成:
<!-- ----------------------注释。。。------------------ -->
^注意这里有个空格
<!-- ----------------------注释。。。------------------ -->

就ok了.
王集鹄 2008-12-07
  • 打赏
  • 举报
回复
from:
http://moris9782.blogbus.com/logs/1967629.html

作者:Deminy
最近同时在使用FireFox和IE这两款浏览器浏览网页,以FireFox为主。最近一周在上网的时候关注到FireFox和IE解析HTML的两点不同之处。

一是对空格符的处理。按照HTML的标准,空格字符是 。在FireFox中,如果你误写成 (少了一个分号)一定不会被FireFox认为是空格,FireFox会认为它是 。而在IE中,如果你误写成 (少了一个分号)IE智能地认为它是空格。

二是对注释的处理。按照HTML的标准,注释的操作是放在<!--和-->之间的,而且注释中不能有--,否则会产生HTML解析错误。如果你把一段注释写成<!--2000年--2002年,在北京工作-->,在FireFox中,FireFox会机械地认为该段注释内容为2000年,而IE则会智能地认为这段注释内容为2000年--2002年,在北京工作。

FireFox对HTML的解析尽量严肃地按照HTML标准来行事,而IE则大量地加入了智能分析手段。哪一种更好?看上去IE做得更好,但我不这样想。严肃一点的做事方式是需要的,也并不会更复杂。严肃一点能够让我们的生活更顺利一点。例如我们在提交申请文档的时候,如果不按照申请标准来,我们的申请文档很可能就是无效的;报税的时候,如果我们不按照标准表格来填写,就会让税务部门的工作人员感到迷惑,最终造成的损失很可能还是我们自己承担。

的确,IE的处理方式能够让我们比较轻松地编写网页,不必在意微小的错误。但是,这种智能化让人们做网页的时候犯了错误,却仍然不知道自己已经犯了错误,因为你犯的错误已经被IE智能地解析了,IE也不会告诉你你写的网页犯了错误。这样,人们就把错误当成正确来理解了。相当数量的网页都存在各种各样的错误,但是这些错误都被IE的智能解析给掩盖了,连很多技术人员都不知道自己写的HTML代码其实是有错误的。我写了多年的网页,却也是直到最近一周才知道标准的HTML中注释里面是不能有--的,因为以前我主要用IE,而IE从来不告诉我这一点。我看到很多网页编写人员犯各种错误,并且他们自己并不知道他们的做法是错误的。这些问题不少时候都要怪罪于微软。

IE的这种做法对于用户看上去是方便了,但是却是以损害技术标准的规范为代价的。也许这也是为什么微软不喜欢使用标准的JavaScript等规范的原因之一。微软有自己单独的处理问题的规范,而这些规范都是把用户当成傻子,以把用户培养成傻子为目标的。
小笨象 2008-12-07
  • 打赏
  • 举报
回复
建议,两个结束的减号之间,要加个空格<!-- fsdfsdf --> 这样应该就没问题了。
cloudgamer 2008-12-05
  • 打赏
  • 举报
回复
真的是哦
奇怪
2008-12-05
  • 打赏
  • 举报
回复
呵呵,有点意思
varlj 2008-12-05
  • 打赏
  • 举报
回复
果真……
删除下面的-,上面的出来了
好奇中————

FF 3.04

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧