经常遇到莫名其妙让IE6崩溃的事情。今天看到了一篇好文章,网页教学网整理整理发上来,以后开发的时候要注意了。 鉴于国内IE6的市场份额还在主流的情况,一定要避免出现以下情况。 IE6真脆弱啊 1.设置scrollbar-base-color,css里给table做了定位,再通过js改变其定位IE6

经常遇到莫名其妙让IE6崩溃的事情。今天看到了一篇好文章,脚本之家整理整理发上来,以后开发的时候要注意了。

鉴于国内IE6的市场份额还在主流的情况,一定要避免出现以下情况。

IE6真脆弱啊

1.设置scrollbar-base-color,css里给table做了定位,再通过js改变其定位IE6就崩溃了。

关键代码:

<style type="text/css">
  html, body {
    scrollbar-base-color: #330066;
}
.crash {
position:absolute;
left:200px;
top:200px;
width:200px;
}
</style>
 <script type="text/javascript">
    function galgenfrist() {
        window.setTimeout('crashIE();',1000);
    }

    function crashIE() {
        var moveNode = document.getElementById("move");
        if(moveNode) {
            moveNode.style.top = "100px";
            moveNode.style.left = "200px";
        }
    }
    </script>
<body onload="galgenfrist();">
    <div id="move" class="crash">
    <table>
        <tbody>
        <tr>
        <td>
              <textarea></textarea>
        </td>
        </tr>
        </tbody>
    </table>
    </div>
</body>

用IE6点击测试。

2.document.write

<script>for (x in document.write) { document.write(x);}</script>

在FF和Chrome中,都会打印出“prototype”字符,在IE6中立即崩溃。

用IE6点击测试。

3.在CSS中使用通配符*,在HTML的table标签中直接放置内容(而不是<tr>标签之类)

<style>*{position:relative}</style><table>aaabbbccc</table>

用IE6点击测试。

4.CSS中出现@+任意字符+/* 立即崩溃

<style>@;/*</style>

用IE6点击测试。

5.onload="window()"

<body onload="window()"></body>

用IE6点击测试。

注:原文中有6个导致崩溃的问题,我装的是IETester,有一个没有测出来。所以没写上来。