我正在尝试存储对contentEditable元素的选择并在以后恢复它。我想观察paste事件并像以前一样存储HTML,清除html,然后在选定位置手动插入粘贴的文本并进行一些更改。看看这个例子:jsfiddle.net/gEhjZ当您选择文本的一部分时,点击store,再次删除选择并点击restore,它按预期工作。但是当您第一次点击store时,然后通过点击overwritehtml将HTML替换为完全相同的HTML,然后尝试restore,没有任何反应。我认为使用.cloneRange()会有所作为,但事实并非如此。即使对象的深拷贝($.extend(true,{},oldRan
有没有办法保存更改,例如更改跨越多个标签的HTML文本的背景,以便在再次加载时,所做的更改应反射(reflect)在HTML页面中。编辑:详细解释。加载HTML页面时,使用范围对象和执行命令选择并突出显示文本:document.execCommand("BackColor",false,'yellow');更改(将文本突出显示为黄色)会一直保留到页面重新加载为止。但是当页面重新加载时,这些更改不存在。我想要的是以某种方式保存这些更改,就像在本地DBsqlite中一样,以便在重新加载/刷新页面时,HTML页面中的更改应该出现。知道怎么做。我是否需要保存其范围起始偏移量和结束偏移量,以便在
有没有办法保存更改,例如更改跨越多个标签的HTML文本的背景,以便在再次加载时,所做的更改应反射(reflect)在HTML页面中。编辑:详细解释。加载HTML页面时,使用范围对象和执行命令选择并突出显示文本:document.execCommand("BackColor",false,'yellow');更改(将文本突出显示为黄色)会一直保留到页面重新加载为止。但是当页面重新加载时,这些更改不存在。我想要的是以某种方式保存这些更改,就像在本地DBsqlite中一样,以便在重新加载/刷新页面时,HTML页面中的更改应该出现。知道怎么做。我是否需要保存其范围起始偏移量和结束偏移量,以便在