论坛首页 Web前端技术论坛

firefox 2 的一个bug (更新) :关于页面元素位置信息

浏览 2547 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-04  
对不起大家,晚上6点多的时候 发帖子心切 举错了例子

这次这个例子更明显点

详细的看附件里的文件

对不起大家, 我的例子
附件文件 在 ie ff3 opear safari 下运行效果是一致的

但是在 ff2 里却是错误的

看来今后大家在编写跨浏览器代码的时候  FF2 和 FF3 要区别对待

关键在于 那个table的位置.

在ff2下 table的offsetLeft/offsetHeight 以及td的offsetLeft/offsetHeight
和在其他浏览器里有出入(其他浏览器都差不多 +-在几像素之间,而FF2则比较离谱)

更夸张的是 在ff2下  table.offsetLeft 居然能取到-1


这个我觉得是比较大的问题. 现在很多ajax框架 只是区分了 ff和 非ff 而ff内部的版本并没有做判断.

从实际情况来看,应该是 FF2有错, FF3修正了这个错误

(主贴文字比较少,但是大家看一下附件 , 我个人绝对这个不算是水贴和入门贴 呵呵)

<html>
 <head>
 <title>firefox 2 的 bug ?</title>
 <style>

* {
	font-size:12px;
}

 </style>

<script type="text/javascript" >

function getPos(td){
	var testT=document.getElementById('testT');

	var msg=document.getElementById('msg');

	var str=[
		'table.offsetLeft : '+testT.offsetLeft,
		'table.offsetTop : '+testT.offsetTop,

		'td.offsetLeft : '+td.offsetLeft,
		'td.offsetTop : '+td.offsetTop

	];

	msg.innerHTML=str.join('<br/>');
}

</script>
 </head>

 <body>
  <div style="position: relative; width:500px;height:200px;overflow:hidden; border:1px #cccccc solid;">

点击单元格,看提示

<table id="testT" style="margin-left:20px;" border="1">
<tr>
	<td onclick="getPos(this)">123...........</td>
	<td onclick="getPos(this)">3345..........</td>
	<td onclick="getPos(this)">tert............</td>
</tr>
<tr>
	<td onclick="getPos(this)">3454............</td>
	<td onclick="getPos(this)">hfgh............</td>
	<td onclick="getPos(this)">fghfgh............</td>
</tr>
</table>
  </div>

  <div id="msg"></div>
 </body>
</html>



   发表时间:2008-03-04  
我在Firefox2下面看到和IE的效果是一样的,你说的bug是什么呢?
0 请登录后投票
   发表时间:2008-03-04  
对不起 例子一开始举错了

这次更正了

楼上的再试试看
0 请登录后投票
   发表时间:2008-03-04  
fins的体验里有一个很好的经验,就是如何判断一个问题,是程序问题,还是浏览器的问题,如果是浏览器问题,那哪一种才是正确的。
这个小窍门就是拿最新版的FF、Safari和Opera来看。特别是FF和Safari,可以互为参考。

BTW,建议fins以后的文件都存成utf-8带bom。这样浏览器可以正确识别本地文件编码。
0 请登录后投票
   发表时间:2008-03-04  
不过,offsetXXX属性其实有点问题。offsetXXX属性并非标准,而是IE的创造,而MSDN对这些属性的定义本身存在含混。所以其实offsetXXX在FF中bug好像是挺多的。比方说有人报告说有border的时候存在问题。

fins说的这个bug,在bugzilla里是有类似记录的:
https://bugzilla.mozilla.org/show_bug.cgi?id=258255
https://bugzilla.mozilla.org/show_bug.cgi?id=356665
https://bugzilla.mozilla.org/show_bug.cgi?id=307502

当然,我不是很吃准到底是哪几个bug跟这个问题相关。


0 请登录后投票
   发表时间:2008-03-04  
hax 写道
fins的体验里有一个很好的经验,就是如何判断一个问题,是程序问题,还是浏览器的问题,如果是浏览器问题,那哪一种才是正确的。
这个小窍门就是拿最新版的FF、Safari和Opera来看。特别是FF和Safari,可以互为参考。

BTW,建议fins以后的文件都存成utf-8带bom。这样浏览器可以正确识别本地文件编码。


谢谢hax指教:)

最近我发现我再次陷入细节的泥沼了

以前曾经就 关注细节和在细节中迷失 发表过一篇博文
但是落实到实际当中 我发现我根本控制不好自己

很多问题 找不到答案时就喜欢自己瞎研究

愁啊
0 请登录后投票
   发表时间:2008-03-04  
见微知著。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics