Rangy保存并更新数据库

时间:2016-08-18 09:11:42

标签: javascript database selection highlight rangy

我使用Rangy.js保存我在数据库中的选择(序列化格式)

var oSelection = rangy.getSelection();
var oRange = oSelection.getRangeAt(0)

$.ajax({
    url : 'save_selection.php',
    type : 'POST',
    async: false,
    data : {
        data: rangy.serializeRange(oRange, true, $("#Text")[0]),
    }
});

重新加载我的页面之后,我得到了之前的选择,我使用了高亮的rangy模块来创建带有id的id(id是数据库中的选择主键),并且在我的页面中使用.highlight类来表示样式。

但我有一个问题,当我点击一个跨度我想要删除我在我的数据库中的选择,所以我删除了一个span我知道DOM更改然后我在我的数据库中更新我的数据:

var aHighlights = {};

$(".highlight").each(function() {
    var oRange = rangy.createRange($(this)[0]);
    var iRangeId = $(this).attr("id");
    aHighlights[iRangeId] = rangy.serializeRange(oRange, true, $("#Text")[0])
});

$.ajax({
    type: 'POST',
    url: 'update_selection.php',
    async: false,
    data: {
        highlights: aHighlights
    }
});

但是在重新加载我的页面之后我有这个错误:

Uncaught IndexSizeError:无法在'Range'上执行'setEnd':偏移1处没有子项。

0 个答案:

没有答案