gpt4 book ai didi

javascript - removeAllRanges 在 chrome/Alternatives 中运行缓慢?

转载 作者:行者123 更新时间:2023-11-30 17:11:53 25 4
gpt4 key购买 nike

我正在使用 node-webkit (Chromium 38.0.2125.104) 开发一个 markdown 编辑器,在输入时将 markdown 转换为 html,并在相同的 contenteditable(一种突出显示)中呈现它。所以一切都以这种方式正常工作:我通过在 dom 中插入一个新节点来保存插入符号位置。然后我处理我的文本。然后我回到插入位置并删除我的标记节点。

我的问题是我试图尽可能快地完成所有这些。但是超过一半的处理时间是由单个操作占用的:

selection.removeAllRanges();

在完成所有操作之后,将我创建的范围添加到选择对象之前。一次操作损失了大约 15/20 毫秒,这是在快速打字时开始感觉到的。有什么办法可以加快它的速度,比如调用其他东西,或者以不同的方式处理选择/范围?谢谢(我是认真的,我一直使用这个网站来寻找答案,但这是我的第一个问题)

最佳答案

如果您只对 Chrome 感兴趣,您可以尝试使用非标准的 WebKit 方法 setBaseAndExtent()(抱歉,没有文档链接,因为据我所知,它从未被记录过)直接设置选择。我不知道它是否会更快;我不明白为什么会这样。

假设您的范围存储在一个名为 range 的变量中,您的选择存储在 sel 中:

sel.setBaseAndExtent(range.startContainer, range.startOffset,
range.endContainer, range.endOffset);

关于javascript - removeAllRanges 在 chrome/Alternatives 中运行缓慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com