经常遇到莫名其妙让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,有一个没有测出来。所以没写上来。 |