【发布时间】:2020-12-18 05:25:47
【问题描述】:
我想在另一个浏览器的一个浏览器的 contenteditable div 中镜像文本选择。代码的简化和相关部分是:
在源浏览器中:
function someFunc() {
if (window.getSelection().isCollapsed)
return;
var range = window.getSelection().getRangeAt(0);
//Send range over websockets to another browser
sendToAnotherBrowser(...) //Send range
}
在远程浏览器中,我执行以下代码:
var sel = window.getSelection();
sel.addRange(range); //Where range is the range transmitted over webSockets
我收到以下错误:
"Failed to execute 'addRange' on 'Selection': parameter 1 is not of type 'Range'
问题: 如何通过 websockets 传输“范围”对象?它不是要字符串化和发送的 JSON 对象。我可以以某种方式对其进行序列化,将其更改为base64,然后在接收端反转该过程吗?
【问题讨论】:
标签: javascript jquery contenteditable textselection