經常遇到莫名其妙讓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,有一個沒有測出來。所以沒寫上來。