Javascript 根据需要工作。我观察到,如果我在选择txt的同一窗口中调用此classApplier(即不向该方法传递任何窗口引用,它工作得很好)。但是,由于我从不同的窗口调用此方法(也传递正确的窗口引用),它就不能按需要工作。AddComment.js-$(docume
根据需要工作。我观察到,如果我在选择txt的同一窗口中调用此classApplier(即不向该方法传递任何窗口引用,它工作得很好)。但是,由于我从不同的窗口调用此方法(也传递正确的窗口引用),它就不能按需要工作。AddComment.js-$(document)。ready(function()){rangy.init();var serializerModule=rangy.modules.Serializer;var addCommentBtn=gEBI(“AddComment”);addCommentBtn.disabled=false;addCommentBtn.ontouchstart=addCommentBtn.onclick=serializeSelection;函数serializeSelection(){var serialisedSelection=rangy.serializeSelection();sessionStorage.setItem(“serialisedSelection”,serialisedSelection),showCommentDialog(“comment”);}postComments.js-$.ajax({type:“POST”,url:“comment”,数据:“serialisedSelection=“+sessionStorage.getItem”(“serialisedSelection”)+”&artifactUUID=“+sessionStorage.getItem”(“artifactUUID”)+”&type=“+$(“#类型”).val()+”&disposition=“+$”#_disp“).val()+”&description=“+tinyMCE.get('commText').getContent(),成功:函数(响应){var commentModel=JSON.parse(响应);var serialisedString=commentModel.serialisedSelection;rangy.deserializeSelection(serialisedString,window);rangy.restoreseselectionfromcookie();applier.applyToSelection(window);},Javascript 根据需要工作。我观察到,如果我在选择txt的同一窗口中调用此classApplier(即不向该方法传递任何窗口引用,它工作得很好)。但是,由于我从不同的窗口调用此方法(也传递正确的窗口引用),它就不能按需要工作。AddComment.js-$(docume,javascript,range,Javascript,Range,根据需要工作。我观察到,如果我在选择txt的同一窗口中调用此classApplier(即不向该方法传递任何窗口引用,它工作得很好)。但是,由于我从不同的窗口调用此方法(也传递正确的窗口引用),它就不能按需要工作。AddComment.js-$(document)。ready(function()){rangy.init();var serializerModule=rangy.modules.Serializer;var addCommentBtn=gEBI(“AddComment”);addC
function buildRange(startOffset, endOffset, startContainerId, endContainerId){
var startContainer = document.getElementById(startContainerId);
var endContainer = document.getElementById(endContainerId);
// create the range
var range = document.createRange();
range.setStart(startContainer.firstChild, startOffset);
range.setEnd(endContainer.firstChild, endOffset);
return range;
}