推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
zhanglangipis

12 行 javascript 代码能让浏览器崩溃 iPhone 自动重启

  •  
  •   zhanglangipis · Jan 28, 2016 · 6653 views
    This topic created in 3936 days ago, the information mentioned may be changed or developed.

    RT 昨天在网上看到的这样几行 JavaScript 代码,觉得很神奇啊,有没有大神解释一下。

    完整 HTML 代码如下:
    <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://www.ipis.com.cn/tetst.html

    27 replies  •  2016-01-29 11:59:12 +08:00
    mytsing520
    mytsing520
    PRO
    Jan 28, 2016
    1
    执行 100W 次呗
    ThisDay
    ThisDay
    Jan 28, 2016
    2
    不断的把越来越长的字符串添加到历史记录里,浏览器占用内存也越来越大,就卡死了呗
    xuewl
    xuewl
    Jan 28, 2016
    3
    @leeyuzhe 正解
    aivier
    aivier
    Jan 28, 2016
    4
    听说三行代码搞崩浏览器?



    while(true) {
    document.appendChild(document.createElement("div"));
    }
    aivier
    aivier
    Jan 28, 2016
    5
    @aivier 手误了,

    while(true) {
    document.body.appendChild(document.createElement("div"));
    }
    BreakTheBank
    BreakTheBank
    Jan 28, 2016
    6
    Mac 下实测, CPU 飙升,温度飙升, chrome 卡死。
    jworg
    jworg
    Jan 28, 2016 via Android
    7
    Khlieb
    Khlieb
    Jan 28, 2016 via Android
    8
    Firefox 直接提示脚本正忙
    Kilerd
    Kilerd
    Jan 28, 2016
    9
    Chrome 使用了 3.5G 内存,然后内存爆表,然后 Chrome 自动重启
    bramblex
    bramblex
    Jan 28, 2016
    10
    @Kilerd
    活捉 /w\
    Ansen
    Ansen
    Jan 28, 2016
    11
    已把网址设置为书签,以后不用按两个键去重启了~
    c0878
    c0878
    Jan 28, 2016
    12
    chrome 才吃了 2G 多内存就崩溃了 没劲
    luban
    luban
    Jan 28, 2016
    13
    chrome 内存 3400M 后死掉重启,
    Kilerd
    Kilerd
    Jan 28, 2016
    14
    @bramblex 噢? 怎么又活抓我了。
    typcn
    typcn
    Jan 28, 2016
    15
    1 行 C 代码能让操作系统内核崩溃
    RT 昨天在网上看到的这样 1 行 C 代码,觉得很神奇啊,有没有大神解释一下。

    完整 C 代码如下:
    while(true){ fork() }


    2 行 C 代码能让操作系统重启
    RT 昨天在网上看到的这样 2 行 C 代码,觉得很神奇啊,有没有大神解释一下。

    完整 C 代码如下:
    setuid(0);
    reboot(RB_POWER_OFF);
    newbieo0O
    newbieo0O
    Jan 28, 2016
    16
    @aivier 还要 create ,何不直接 append body
    newbieo0O
    newbieo0O
    Jan 28, 2016
    17
    @aivier 看错了。抱歉
    guyskk
    guyskk
    Jan 28, 2016
    18
    _='_';while(_=_+_){history.pushState(0,0,_)}
    dikT
    dikT
    Jan 28, 2016
    19
    _='_';while(_+=_){history.pushState(0,0,_)}
    dikT
    dikT
    Jan 28, 2016
    20
    HadesYang
    HadesYang
    Jan 28, 2016
    21
    这有啥好试的,搞个循环吃内存嘛
    KiriGiri
    KiriGiri
    Jan 28, 2016
    22



    Edge 浏览器, 20s 内运行完,内存占用不超过 100M 。
    just1
    just1
    Jan 28, 2016 via Android
    23
    @KiriGiri edge 本来就不支持该函数
    gimp
    gimp
    Jan 28, 2016
    24
    是时候 @一下 fork 炸弹了

    :(){ :|:& };:
    BOYPT
    BOYPT
    Jan 28, 2016
    25
    @just1 http://caniuse.com/#search=pushstate
    支持的
    只是 edge 的实现没有 webkit 系那么耗资源, 1000000 次跑完了。
    zhpech
    zhpech
    Jan 29, 2016
    27
    @BOYPT 好像微软家要在 head 里做特殊处理才支持?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1771 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 02:56 · PVG 10:56 · LAX 18:56 · JFK 21:56
    ♥ Do have faith in what you're doing.