Ckeditor 滚动条标记/文本位置指示器

Ckeditor scrollbar marker / Text Position Indicator

我想在 ckeditor 中实现滚动条标记,但我似乎找不到正确的方法,我已经尝试过这段代码

var win = new CKEDITOR.dom.window( window );
var pos = win.getScrollPosition();
console.log(pos);

但它只有 return google chrome 滚动条 x=0 & Y=0

var win = new CKEDITOR.dom.window( domWindow );
var pos = win.getScrollPosition();
console.log(pos);

这给我一个错误 domWindow is not defined

我发现这个例子可能有帮助:https://codepen.io/Rplus/pen/mEjWJm

(() => {
  var containerQS = '.article';
  var container = document.querySelector(containerQS); 
  var form = document.querySelector('.form');
  var input = form.querySelector('input[type="text"]'); 
  var markClass = 'mark';
  var markerHeight = '2px';
  var _color = 'currentColor'; 
  var containerY = container.offsetTop;
  var containerH = container.scrollHeight; 
  var customStyle = document.createElement('style');
  container.appendChild(customStyle); 
  var renderScrollMarker = ($parent, posArr) => {
   var _posArr = posArr.map(i => {
      return `transparent ${i}, ${_color} ${i}, ${_color} calc(${i} + 
${markerHeight}), transparent calc(${i} + ${markerHeight})`;
    }); 
    customStyle.innerHTML = `article::-webkit-scrollbar-track {
        background-image: linear-gradient(${_posArr.join()});
     }`;
  }; 
  var calcEleRelativePos = ($ele) => {
    return ($ele.offsetTop - containerY) / containerH;
  }; 
  var markOpt = {
    className: markClass,
    done: function () {
     var marks = document.querySelectorAll(`.${markClass}`);
     var allY = [].map.call(marks, (mark) => {
        return (calcEleRelativePos(mark) * 100).toFixed(2) + '%';
     });
     renderScrollMarker(container, allY);
     console.log(allY);
   }
  }; 
  var instance = new Mark(container); 
  form.addEventListener('submit', (e) => {
   e.preventDefault();
   var _text = input.value.trim(); 
   console.log(_text, form.oldText); 
    if (_text === '') {
       instance.unmark(markOpt);
      return;
   } 
   form.oldText = _text;
    instance.unmark().mark(_text, markOpt);
 }); 
  // trigger
  form.querySelector('input[type="submit"]').click(); 
 })();

但是由于 ckeditor 保护了很多元素,我很想知道以前是否有人用 CKeditor

我刚刚得到真正的编辑器滚动条位置,我只需要使用样式或任何可用的方法放置一个标记

var win=CKEDITOR.instances.editor1.document.getWindow();
var pos = win.getScrollPosition().y;                                        
console.log(pos);

这对我有用:

    var jqDocument = $(editor.document.$);
    var documentHeight = jqDocument.height();
    var scrollTo =jqDocument.scrollTop();
    var docHeight = jqDocument.height();
    var scrollPercent = (scroll)/(docHeight);
    var scrollPercentRounded = Math.round(scrollPercent*100); 
    $(".ui-slider-handle").css("bottom", 100-scrollPercentRounded+"%");