回复框里输入真的会慢啊, 大家测试也这样么?
发布于 12 年前 作者 jiyinyiyong 4118 次浏览 最后一次编辑是 8 年前

上次评论看到还不相信, 今天自己碰到了, 在评论框裸写代码的时候 中文输入法情况下感觉不出来, 在键盘用英文快速按就能遇到了, 用 Chrome 自动的工具看了下, CPU 占用好可怕 enter image description here

10 回复

确实,昨天我也遇到这个问题,今天好像就快了,但是网页还是容易少加载一些资源导致页面变乱

今天我这里也是, 502 很多次, 加载 css 失败若干次

实时编译md导致的?

只有在文章的回复数量很多时,这个问题才越来越明显。 应该跟回复框数量有关,每个会分开都创建了一个Markdown.Editor,或许是这个的问题:

    function run_md_editor() {
      var converter = new Showdown.converter();
      var editor = new Markdown.Editor(converter);
      editor.run(); 
      editor.hooks.chain('onPreviewRefresh', function () {
        prettyPrint();
      });

      $('.reply2_editor').each(function() {
        var editor_id = $(this).attr('id');
        var suffix = editor_id.slice(editor_id.indexOf('-'));
        var editor = new Markdown.Editor(converter, suffix);
        editor.run();
        editor.hooks.chain('onPreviewRefresh', function () {
          prettyPrint();
        });
      });
    }
    run_md_editor();

onPreviewRefresh 那个事件是怎么回事啊, 是每次输入都有的么?

@jiyinyiyong 应该是吧: 你在浏览器控制台中执行以下代码,然后再找个回复框输入内容,可以看到没次改变回复框内容都会触发该事件。

_p = prettyPrint;
i = 0;
prettyPrint = function () { console.log(i++); _p(); }

@leizongmin 真的, 唉. 每次整个执行一遍实在可怕

每个回复框都创建一个编辑器其实没必要,如果扩展功能会越来越卡,其实只显示一个就行了。

好人啊! 合并了!

回到顶部