zoukankan      html  css  js  c++  java
  • 【随笔】近期前端开发中IE6的一些诡异神奇bugs

    在这个万恶的IE6还生存的年代,我们很多时候都会遇到一些莫名其怪的诡异bugs,而这些很大部分都是来源与IE6。

    1。神奇的cursor 

    1 <href="#" onmouseover="this.style.cursor='pointer'" onmouseout='this.style.cursor="none";>测试</a>

     这段看起来很普通的代码,却蕴藏着一个bug,就是在IE6下,当鼠标离开时,a标签的样式cursor:url("none");同时会产生一个404的请求,其它浏览器,

    一切正常。解决方案:cursor="default";就没事了。

    2。神奇的a标签地址

    1 <href="#" id="a">连接</a>
    2 
    3 <script>
    4      document.getElementById("a").href="111@163.com";
    5 </script>

    当动态修改A标签的href的值,其值存在email的格式,IE6就会很智能的把innerHTML的值也改为href的值,其它浏览器一切正常。

    解决方案:在email地址前加个空格就可以了。

    3。神奇的a标签aborted

    <a href="javascript:;" onclick="window.location.href='http://www.baidu.com'">我要跳转</a> 

     在IE6下点击此连接时,不会跳转,反而会返回一个aborted的状态。其它浏览器均正常。

    解决方案:在最后return false;就可以了。 

    4。奇怪的tr元素

    var tr = document.createElement("tr");
    alert(tr.cells.length);

     你会发现,在IE6先,是会报错的,cells未定义。在其它的浏览器,会弹出0;

    如果你将tr元素添加进table中,则ie6也会弹出0;

    5。奇怪的form与iframe

    <form action="#" method="post" target="iframeform">
       
    <input type="submit" value="submit" />
    </form>
    <iframe name="iframeform" display="none;"></iframe>

    一个很正常的需求,就是希望提交表单后,不刷新页面。

    问题就来了:form提交的地址是另外一边服务器的地址,就是域名都不同那种,而且我是不能修改那边代码,如果账号密码错误了,会返回一段js,

    其中一句:history.go(-1);

    如果我是直接输入本页面地址,是没有什么问题,但如果我是从搜索引擎或者其它页面连接过来的,密码一错,就跳回那个页面了。杯具。。。

    后来知道原因:就是历史记录,所以iframe里面的src我就设置连接到一个小图标。但又出问题了,其它浏览器都可以,就是IE6提交不了。。。

    又发现原因:图标的域名与当前域名不相当,IE6提交不了给它,所以,最终换成本域名的,问题就解决了。 

    6。顺带提一个chrome的问题,当你定义一个全局变量:var status = {};

    之后typeof status,在chrome下为string,在其它浏览器下为object。估计是跟window.status有关。 

    暂时就这么多。。。 

  • 相关阅读:
    【python接口自动化】httpUtils
    mac上安装chromedriver
    python自动化测试报告(excel篇)
    Fiddler 手机抓包介绍
    Fiddler 简单介绍
    Python splinter 环境搭建
    Python pip 常用命令
    Python Yaml 学习
    Jmeter
    Python3 操作Excel
  • 原文地址:https://www.cnblogs.com/floyd/p/1903038.html
Copyright © 2011-2022 走看看