时间:2021-05-21
最近,一段神秘的12行代码在国外社交网络上火了起来,据说能让你的浏览器瞬间崩溃,iPhone秒重启。到底是什么代码这么神奇?
上周,国外网友Cyber Security@cyber__sec在Twitter上发布了这样一段推文:
“使用下面这段javascript代码,能让Firefox、Chrome、Safari浏览器崩溃,还能让iPhone重启”。
事实上,更早的时候,IT Security Tweets ™ @F1r3h4nd也发布类似的内容:
“把下面这个脚本链接发送给你的朋友,搞瘫他的浏览器,让他的iPhone重启。”
喏,就是下面这段代码:
<html>
<body>
<script>
var total="";
for (var i=0;i<1000000;i++)
{
total= total+i.toString ();
history.pushState (0,0,total);
}
</script>
</body>
</html>
还有人专门做成了链接:http:///demo.html(不怕死的可以试试,请提前保存好浏览器内容
网友验证,如果是PC用户,内存使用率一路狂飙,浏览器会瞬间卡死;如果是手机用户,点开链接浏览器会闪退,而微博、微信内打开链接同样会闪退。如果是iPhone用户使用Safari打开之后链接,手机重启。
为什么会这样呢?
有知乎网友给出这样的解答:
“history.pushstate()是HTML5引入的API,pushState将指定的URL添加到浏览器历史里,存储当前历史记录点。 当 i<100000 的时候会循环的将 total记录到浏览器历史里面,重复多了,浏览器就承受不住了,自然就崩了。”
简直瞎了我的眼!
如果你是PC端用户,点开链接以后,电脑CPU内存极有可能一路狂飙直至浏览器崩溃卡死...
如果你是移动端(安卓、iPhone)用户,点开链接以后你的浏览器会闪退!在微博、微信点开链接也同样会闪退。
为什么会发生此现象呢?对此我在知乎上找到了一位名为“小米”的大神解答:
history.pushstate()是HTML5引入的API,pushState将指定的URL添加到浏览器历史里,存储当前历史记录点。 当 i<100000 的时候会循环的将 total记录到浏览器历史里面,重复多了,浏览器就承受不住了,自然就崩了。
好吧,反正对于连“hello world”都不会编的我,是一点也看不明白...总之牛气炫酷吊炸天就对了!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如果你喜欢微软Edge浏览器的外观,但无法容忍它的经常崩溃,现在有一个主题,可以让你的Firefox浏览器看起来像微软Edge浏览器,但保持Firefox的稳定
JavaScript方法代码:复制代码代码如下://设置FieldSet高度方法,支持IE浏览器、Firefox//参数1:pTableID,FieldSet内
javascript实现客户端file选择文件后img标签加载客户端图片实现图片预览。测试浏览器:firefox6,firefox12,chrome25.0.1
请在现代浏览器(IE9+、firefox、chrome、safari、opera等浏览器)中查看效果:复制代码代码如下:#circle{width:100px;
JavaScript不仅可以控制浏览器的输出内容,还可以控制浏览器行为,比如关闭浏览器、最大化浏览器、控制浏览器滚动条和浏览器菜单等,代码1-7是一段网站建设J