Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在存在 Mathjax 页面的评论框中输入文字卡顿 #305

Open
3 tasks done
inkss opened this issue May 1, 2020 · 20 comments
Open
3 tasks done

在存在 Mathjax 页面的评论框中输入文字卡顿 #305

inkss opened this issue May 1, 2020 · 20 comments
Labels

Comments

@inkss
Copy link

inkss commented May 1, 2020

  • 受影响的Valine版本、操作系统,以及浏览器信息: v1.4.14 Edge Beta
  • 可复现问题的步骤:在评论框中输入文字卡顿
  • 可复现问题的网页地址: https://inkss.cn/article/other/80b5f235.html

  • 错误信息
6[冲突] 'setTimeout' handler 用时 <N> 毫秒
contextmenuhlpr.js:3 [冲突] 'selectionchange' handler took 312ms
[冲突] Forced reflow while executing JavaScript took 312ms
[冲突] Forced reflow while executing JavaScript took 322ms
@inkss
Copy link
Author

inkss commented May 1, 2020

感觉好像是公式的锅,阻塞的太多东西

@xCss
Copy link
Owner

xCss commented May 1, 2020

页面一直在检测 jQuery,不知道是不是这个问题。。。

            if (window.location.hash)
                var checkExist = setInterval(function() {
                    $(window.location.hash).length && ($("html, body").animate({
                        scrollTop: $(window.location.hash).offset().top - 90
                    }, 1e3),
                    clearInterval(checkExist))
                }, 100)

image

@inkss
Copy link
Author

inkss commented May 1, 2020

好像不是,我把这串代码注释了,还是那样。而且,这个页面关掉了 mathjax ,就好使了

@inkss
Copy link
Author

inkss commented May 1, 2020

10s 时间内:

image

@xCss
Copy link
Owner

xCss commented May 1, 2020

Valine 调用MathJax的时候只判断评论区中是否有公式,而不判断文章内容。

按道理讲不会发生这种问题,晚点我测试下

@inkss
Copy link
Author

inkss commented May 1, 2020

好嘞,目前也就评论区有这个问题,其它的输入框倒是没有

@Reqwey
Copy link

Reqwey commented May 1, 2020

@inkss 我原先还以为是comment_typing效果的锅,后来发现关掉一样卡

@MHuiG
Copy link

MHuiG commented May 1, 2020

应该是代码逻辑的锅,我修改的版本没有发现此问题。

看代码调用mathjax有延时函数
共有三处调用,可能他们之间冲突了。

真的会有人在评论里输入公式么

@inkss inkss changed the title 在特定页评论框中输入文字卡顿 在存在 Mathjax 页面的评论框中输入文字卡顿 May 2, 2020
@Reqwey
Copy link

Reqwey commented May 2, 2020

应该是代码逻辑的锅,我修改的版本没有发现此问题。

看代码调用mathjax有延时函数
共有三处调用,可能他们之间冲突了。

真的会有人在评论里输入公式么

有道理, 希望把评论区的公式渲染删了.

我是OIer, 几乎每一篇文章都有渲染MathJax, 但是从不在评论里面发, 所以这个功能对我来说是个很大的累赘😫

@MHuiG
Copy link

MHuiG commented May 2, 2020

建议临时提供一个完全关闭MathJax的选项

@Reqwey
Copy link

Reqwey commented May 2, 2020

如果只慢一点点还可以接受, 但是这实在太卡了, 尤其是敲中文, 而且我的电脑还不大好...

@MHuiG
Copy link

MHuiG commented May 2, 2020

如果只慢一点点还可以接受, 但是这实在太卡了, 尤其是敲中文, 而且我的电脑还不大好...

临时魔改一下,全给删了
https://github.com/MHuiG/blog-cdn/blob/v1.2.1/js/valine-no-math.js#L2468

突然感觉好多了

CDN:

https://cdn.jsdelivr.net/gh/MHuiG/[email protected]/js/valine-no-math.js

@inkss
Copy link
Author

inkss commented May 2, 2020

我选择——关闭公式,哈哈哈哈,反正我也不会写那个语言,也就是测试一下会不会出兼容问题,祖国的大任就交给你们啦 ,手动滑稽加狗头保命

@Reqwey
Copy link

Reqwey commented May 2, 2020

如果只慢一点点还可以接受, 但是这实在太卡了, 尤其是敲中文, 而且我的电脑还不大好...

临时魔改一下,全给删了
https://github.com/MHuiG/blog-cdn/blob/v1.2.1/js/valine-no-math.js#L2468

突然感觉好多了

CDN:

https://cdn.jsdelivr.net/gh/MHuiG/[email protected]/js/valine-no-math.js

用上了, 感谢!!!

@MHuiG
Copy link

MHuiG commented May 2, 2020

我选择——关闭公式,哈哈哈哈,反正我也不会写那个语言,也就是测试一下会不会出兼容问题,祖国的大任就交给你们啦 ,手动滑稽加狗头保命

期待大佬的Pjax版本~ 0130

@so1ve
Copy link

so1ve commented May 8, 2020

我个人是认为可以使用知乎api,"https://www.zhihu.com/equation?tex="+encodeURIComponent('a+b')

@ghost
Copy link

ghost commented May 10, 2020

我也出现了一样的问题,困惑 😢

@xaoxuu
Copy link
Contributor

xaoxuu commented May 11, 2020

不加载Valine评论时的公式的HTML结构:
iShot2020-05-1112.57.49.jpg
开启Valine评论时的公式的HTML结构:(Valine设置了 mathJax: false
iShot2020-05-1112.59.08.jpg
由图可见开启了Valine评论之后公式就会无限嵌套。

公式加载部分的代码和NexT主题一模一样,NexT页面的公式也不存在无限嵌套的问题。

@xaoxuu
Copy link
Contributor

xaoxuu commented May 11, 2020

@xCss 再次强烈请求彻底关闭评论框的高级渲染功能(识别公式、识别HTML等),不稳定性因素太多,需要贴公式的时候截个图就可以了。

@xCss xCss added the bug label May 11, 2020
@Hime-Hina
Copy link

公式渲染直接在服务端渲染完比较好吧, 好像有插件的.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants