如何将用户在一个内容可编辑div中选择的文本应用于另一文本? setSelection?

问题描述

我在两个浏览器中有两组相同的内容可编辑div。当用户一个浏览器中选择内容可编辑div中的文本时,我希望Javascript在另一浏览器中也是如此。我使用websockets发出信号的渠道是我将更改从一个浏览器传输到另一个浏览器的方式。

这些div是execCommand的目标,这意味着选择可以跨越内容可编辑div中的多个元素(例如,p,span)。

我知道相关事件的处理方式如下:

['mouseup','keyup','selectionchange'].forEach((e) => {
    document.querySelector('#editable').addEventListener(e,handleSelection);
});

我可以通过以下方式检测选择:

const handleSelection = function() {
  let selection = window.getSelection().isCollapsed;
         if (!selection)
            console.log("Selected ");

   //Get the selection range
   var selectionrange = window.getSelection().getRangeAt(0);

   //Get the anchor node... etc from the getSelection() API
}

如何获取选择文本和/或一些参数,可用于在另一个浏览器的另一个contenteditable div中选择相同的文本? 没有setSelection()API。我正在寻找一种方法

首选JQuery解决方案,但纯Javascript也可以。

我发现这个10岁的孩子link。仍然有意义吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)