许多人都非常讨厌InternetExplorer,在西方万圣节即将到来之际,让我们来看一个真正吓人的东西——如何用一段简单的HTML和CSS,将任何版本的IE搞死。我们只需要简单地打开任意文本编辑器,将下面的代码复制进去,然后保存文件,例如SomeFilename.html。

<html><head>
<style type="text/css">
#a {
margin:0 10px 10px;
}

#b {
width:100%;
}

</style>
<title>IECrasher</title>
</head>
<body>
<table><tr><td>
<div id="a">
<form id="b">
<input type="text"name="test"/>
</div>
</td><tdwidth="1"></td></tr></table>
</body></html> 
然后用Internet Explorer打开它——哈哈!它很惨地死给你看了。

这个bug几乎存在于现在流行的所有IE版本,从IE6到刚刚发布的Internet Explorer9的第6个平台预览版。在IE6中,该页面往往显示为空白,但是整个窗口都无法交互。在IE8中,崩溃来得很彻底。而IE9Beta增强了坚固性,经过我的实测,这个页面又是会导致整个进程无响应,而有时IE9会提示你网页存在的问题,但是这都无法避免崩溃的现实。

事实上,很早就有人发现过这个问题了,而且还有一个专门的网站(http://crashie8.com/,请谨慎传播此链接)。除了IE以外的浏览器打开那个页面都不会有任何问题,但是IE却莫名其妙地崩溃。

当然,如果你细心的话,会发现上面的HTML代码中<form>标签没有闭合。我们需要在<input>标签后使用</form>闭合标签才能让这段代码符合规范。规范的代码就不会让IE崩溃了,这样看来似乎并不是IE的错。

但是,当其他浏览器都能有很高的容错性时,IE没有,甚至到了IE9还是没有,这就是IE的悲剧了。

一段能瞬间秒杀所有版本IE的简单HTML代码的更多相关文章

  1. 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段

    50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段 本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从j ...

  2. GIT 分布式版本控制系统的简单使用介绍

    GIT 分布式版本控制系统的简单使用介绍 1.GIT的概念Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别:1. GIT不仅仅是个版本控制系统,它 ...

  3. [转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)

    两种情况(场景) 情况一      代码还只在本地,未push到运程仓库,想把代码还原到上一次commit的代码,此时操作为代码撤销 解决方案: 1 git reset [--hard|soft|mi ...

  4. Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)

    转自https://www.cnblogs.com/lwh-note/p/9639835.html 两种情况(场景) 情况一      代码还只在本地,未push到运程仓库,想把代码还原到上一次com ...

  5. inno setup判断是Windows系统版本(其实还是Delphi代码,还能检查域控制器和家庭版)

    1.设置Windows最低版本要求 [Setup]: MinVersion 格式: a.bb,c.dd,这里 a.bb 是 Windows 版本,c.dd 是 Windows NT 版本. 默认值: ...

  6. 如何下载 Nginx (windows 版本)并且简单的使用

    官网地址:http://nginx.org/ 进到官网 我这里下载的是 稳定版的 windows版本. 开始我们的简单测试 步骤一:找到nginx的压缩包,(随意找个地方)解压 步骤二:进入conf文 ...

  7. python3.5以上版本,typing模块提高代码健壮性

    一 前言 Python是一门弱类型的语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数, ...

  8. iOS:xCode7版本运行xCode8.0的代码

    怎么在xCode7版本上运行xCode8.0的代码? 1.右键你的"LaunchScreen.sb"文件并用编辑器打开sb 2.删掉"<capability nam ...

  9. 原来在linux上切换jdk的版本是这么简单

    上次在linux上切换jdk版本的时候,还配置了半天的环境变量,今天又查了一下,原来是这么的简单 1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看: (输全哦) update-alter ...

随机推荐

  1. 通过 SysVinit、Systemd 和 Upstart 管理系统自启动进程和服务

    管理 Linux 自启动进程 Linux 系统的启动程序包括多个阶段,每个阶段由一个不同的图示块表示.下面的图示简要总结了启动过程以及所有包括的主要组件. Linux 启动过程 当你按下你机器上的电源 ...

  2. poj Sudoku(数独) DFS

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13665   Accepted: 6767   Special ...

  3. 地址url的split()方法使用;

    stringObject.split(separator,howmany) 参数 描述 separator 必需.字符串或正则表达式,从该参数指定的地方分割 stringObject. howmany ...

  4. async and await 简单的入门

    如果有几个Uri,需要获取这些Uri的所有内容的长度之和,你会如何做? 很简单,使用WebClient一个一个的获取uri的内容长度,进行累加. 也就是说如果有5个Uri,请求的时间分别是:1s 2s ...

  5. cadence制作封装要素

    cadence中封装制作完成后必须包含的元素: 1. 引脚. 2. 零件外形,轮廓线.package geometry->silkscreen_top, assembly_top. 3. 参考编 ...

  6. ssd算法的pytorch实现与解读

    首先先放下github地址:https://github.com/acm5656/ssd_pytorch 然后放上参考的代码的github地址:https://github.com/amdegroot ...

  7. 第二百零七节,jQuery EasyUI,MenuButton(菜单按钮)组件

    jQuery EasyUI,MenuButton(菜单按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 MenuButton(菜单按钮)组件的使用方法 ...

  8. 酷狗缓存文件kgtemp的加密方式

    [转自:http://www.cnblogs.com/KMBlog/p/6877752.html] 首先对比了一下缓存文件和下载好的mp3文件,发现缓存文件多了1024个字节,而且对比了几个缓存文件, ...

  9. 理解WCF中的Contracts

    WCF中的Contracts WCF通过Contract来说明服务和操作,一般包含五种类型的Contract:ServiceContract,OperationContract,FaultContra ...

  10. Linux初学者学习资料

    鸟哥的Linux私房菜 http://vbird.dic.ksu.edu.tw/linux_basic/linux_basic.php