文章标签 ‘bug’

百度搞了一个分享平台,好吧,试用一下,发现分享成功,但各平台下跳转回来的地址存在IE6下参数获取错误的问题。

问题重现(新浪微博为例):

分享平台获取的地址一般为http://www.domain.com/test.asp?id=100#0-tsina-111111-111111-de70028302b856c997bc35861eb52ece,分享平台都有自己的短网址,一般为http://t.cn/AbCdEf,点击的时候做了一次跳转到分享平台获取的地址。但是由于添加了#号后面的内容,在IE6浏览器下Request得到的ID值严重不正确,居然包含#号后面的所有字符。

问题简化:

1.asp

<a href="2.asp">测试</a>

2.asp

Response.Redirect("3.asp?ID=14#efefef")

3.asp

Response.Write(Request("ID"))

IE6下,单击1.asp里的链接 或 直接访问2.asp,输出的值为:14#efefef

解决问题:

1. 过滤掉#及后面的所有字符
2. 添加空的参数,例如3.asp?ID=14&TP=#efefef

追究原由:

测试了FF7,FF8,FF(8),Chrome(15),Safari(5.1)均未发现问题。查询网络发现 这篇 文章和我碰到了同样的问题,和几个同事讨论均认为有可能是IE6在跳转时发生的问题,该问题已经提交到微软在线论坛等待MVP反馈。如有描述错误之处,请指教。

PS:

12.16 MVP回复可能为IE6的某BUG,并提供同样问题的链接 Internet Explorer 6 and redirected anchor links

2011年12月15日13:51 | 1 条评论
分类: 前端开发
标签: ,

这个BUG只出现在IE6下,今天测试页面的时候发现并找到的解决方案:

BUG症状:

IE6边框时断时续,时有时无,其他流行浏览器均正常显示

BUG条件:

1px边框,border:1px solid #ddd;子元素下有浮动;最后已加清除浮动附加div class=”clear”

BUG解决方案:

父元素上zoom:1或者height:100%

另外一个边框BUG:

IE bug: 1像素的dotted/dashed边框 涉及浏览器为IE6/IE7

2010年7月16日09:08 | 4 条评论
分类: 未分类
标签: , ,

今天看Google Reader的时候,发现163 UED上的一篇 IE6 bug: 消失的绝对定位元素 ,和我昨天碰到问题一样的,不同的是,他们至少找到了解决办法,而我却是退而求其次了!可能这就是差距… :(

原文:
<style>
*{ padding:0; margin:0;}
.content{width:600px;}
.abs{position:absolute; left:0; top:0; width:600px; height:120px; background:#1f3a87; }
.main{float:left; width:300px; height:200px; background:#f3f3f3; }
.sub{float:left;width:300px; height:200px; background:#bc2931;}
</style>
<div class=”content”>
<div class=”abs”>
abs
</div>

<div class=”main”>
main
</div>
<div class=”sub”>
sub
</div>
</div>
以上代码在IE6下浏览会发现,绝对定位元素不见了。
产生原因不明,当满足以下条件之一可解决:
1、main + sub + 2 < content(各元素的宽度);
2、在main元素之前加一个空的<div></div>,如…<div></div><div class=”main”>…;
3、给abs元素再嵌套一个div元素,如<div><div class=”abs”>abs</div></div>

链接: http://www.ued163.com/?p=673

2009年12月3日10:19 | 7 条评论
分类: 前端开发
标签: , ,

该Bug只在IE8非兼容模式下会存在,目前已经找到多篇关于此Bug的介绍,具体见文末!

版本号: jquery1.3.2

浏览器: IE8

问 题: toggle()存在hide后无法show的问题

代 码:

<script type="text/javascript">
$(document).ready(function(){
$(‘#tbl td’).bind(‘click’,function(){
        $(this).parent().next().toggle();
    })
})
</script>

<table id="tbl">
<tr><td>LINE1</td></tr>
<tr><td>LINE2</td></tr>
<tr><td>LINE3</td></tr>
<tr><td>LINE4</td></tr>
</table>

描 述: 当单击LINE1时,LINE2会隐藏,但再次单击时,却无法正常显示了!

修 复1:  利用1.3.2最新加入的方法toggle(switch)

<script type="text/javascript">
$(document).ready(function(){
$(‘#tbl td’).bind(‘click’,function(){
        $(this).parent().next().toggle($(this).parent().next().css(‘display’)==’none’);
    })
})
</script>

<table id="tbl">
<tr><td>LINE1</td></tr>
<tr><td>LINE2</td></tr>
<tr><td>LINE3</td></tr>
<tr><td>LINE4</td></tr>
</table>

修 复2:  利用toggleClass切换样式

<style>
.hidden{ display:none; }
</style>
<script type="text/javascript">
$(document).ready(function(){
$(‘#tbl td’).bind(‘click’,function(){
        $(this).parent().next().toggleClass(‘hidden’);
    })
})
</script>

<table id="tbl">
<tr><td>LINE1</td></tr>
<tr><td>LINE2</td></tr>
<tr><td>LINE3</td></tr>
<tr><td>LINE4</td></tr>
</table>

代码比较少,如需要测试,请自行Copy Code, and Import 相关版本的jquery!

相关介绍:

2009年7月30日10:26 | 没有评论
分类: 前端开发
标签: , ,