gpt4 book ai didi

node.js - 错误: Error in Rangy WrappedRange module: createRange(): Parameter must be a Window object or DOM node

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:42 25 4
gpt4 key购买 nike

我有这两个功能:

function menuItemListener( link ) {
var side = link.getAttribute("data-action");
if (side == 'Mark as A' || side == 'Mark as B') {
highlighter(side);
$.ajax({
method: "POST",
url: "http://localhost:3000/",
dataType: "json",
data: JSON.stringify({"rangyobject" : rangy.saveSelection()}),
contentType: "application/json; charset=utf-8",
success: function(result) {
console.log('yei');
}
});
}
toggleMenuOff();
}

function loadHighlights () {
window.addEventListener("load", function load(event){
$.ajax({
method: "GET",
url: "http://localhost:3000/ranges",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(result) {
console.log('loadHighlights results: ', result[0].rangyObject);
rangy.restoreSelection(result[0].rangyObject);
}
});

},假); };

所以它只是将 rangy.saveSelection() 存储在数据库中,然后将其取回并尝试对其第一个元素进行 rangy.restoreSelection 。console.log 看起来不错,但我在控制台中收到错误:

错误:Rangy WrappedRange 模块中出现错误:createRange():参数必须是 Window 对象或 DOM Node

最佳答案

  1. rangy.saveSelection() 在控制台中看起来像这样:

    {win: 未定义, rangeInfos: 数组, 恢复: false}

  2. 注意“win:未定义”

  3. 当我将其发送到数据库时,我使用

    数据:JSON.stringify({"rangyObject": rangy.saveSelection()})

  4. 从数据库检索它时,它看起来像:

    {rangeInfos:数组,恢复:假}

  5. 请注意,保存到数据库时省略了“win”

我能够使用序列化和反序列化函数来规避此问题,但这些函数不会使用它们创建的跨度创建 id,因此我遇到了另一个问题。

关于node.js - 错误: Error in Rangy WrappedRange module: createRange(): Parameter must be a Window object or DOM node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558527/

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