Не работает вставка ссылки в текстовое поле Sharepoint 2010 (sp.ui.rte.js)

#javascript #html #sharepoint #sharepoint-2010

Вопрос:

У меня проблема со страницей точки Sharepoint, которая была настроена в 2010 году. Ошибка произошла сама по себе, в исходном коде не было никаких изменений. Сервер Windows и Sharepoint не были обновлены. Ошибка начинается с а а SP.UI.RTE.JS файл. Когда я искал имя файла, я нашел множество форумов. Из них я узнал, что это типичная ошибка, которая была в течение многих лет, но ни одно из предложенных решений не сработало для меня. Вы можете увидеть ошибку ниже (на экране печати).:

введите описание изображения здесь

Я попробовал эти исправления:

 SP.SOD.executeFunc('sp.ui.rte.js', null, function () {  if (/var $v_0 = RTE.Selection.getSelectionRange();[rnt ]*var $v_1 = $v_0.parentElement();/.test(RTE.Canvas.checkCurrentFocus.toString())) {  var _oldCheckCurrentFocus = RTE.Canvas.checkCurrentFocus;  RTE.Canvas.checkCurrentFocus = function () {   if(RTE.Selection.getSelectionRange())  return _oldCheckCurrentFocus();  };  } });  function fixRTEBug() {  if (typeof RTE.Canvas.checkCurrentFocus !== 'undefined') {  RTE.Canvas.checkCurrentFocus = function() {ULSkay:;  var $v_0 = RTE.Selection.getSelectionRange();  if ($v_0) { //this is different from SP to avoid error in console  var $v_1 = $v_0.parentElement();  if (RTE.Canvas.isInEditable($v_1) amp;amp; !RTE.Cursor.get_range().isValid()) {  RTE.Cursor.updateRangeToCurrentSelection();  RTE.Cursor.update();  }  }  }  }   // This Fix for parentElement bug in RTE should survive Service Packs and CU's  function SubstituteRTERangeParentElement() {  var originalRTERangeParentElement = RTE.Range.prototype.parentElement;  RTE.Range.prototype.parentElement = function () {  try {  originalRTERangeParentElement();  } catch (e) { }  }  }  SubstituteRTERangeParentElement(); }  ExecuteOrDelayUntilScriptLoaded(fixRTEBug, "sp.ui.rte.js");  function spUIRTESetStartEndBugFix() {  Range.prototype.setStartOld = Range.prototype.setStart;   Range.prototype.setStart = (function (a, b) { this.setStartOld(a, Math.min(b, this.endOffset)); });  Range.prototype.setEndOld = Range.prototype.setEnd;   Range.prototype.setEnd = (function (a, b) { this.setEndOld(a, Math.min(b, this.endOffset)); });  }; ExecuteOrDelayUntilScriptLoaded(spUIRTESetStartEndBugFix, "sp.ui.rte.js");