chrome 浏览器是不支持不连续的 selection 的,通篇只能有一个,目前估计只有 Firefox 是例外的吧。不支持是能理解的,因为光标也是一个特殊的选区,而光标同一时刻只能有一个。
要解决这个报错,只能在选择之前,移除所有选区。做过编辑器的人应该深有体会吧!
selection.removeAllRanges(); saveSelection.addRange(range);