Как получить html из выбора - PullRequest
       2

Как получить html из выбора

0 голосов
/ 30 апреля 2020

Я думал, что это простая проблема, но это не так! Ниже вы найдете мой текущий код, который отлично работает для выделенного текста. Но, например, если изображение включено в выборку, оно возвращает только имя изображения, но не тег с информацией sr c. Я пробовал несколько решений, но никто не был решен для моей проблемы. Я также пытался

var temp = sel.getRangeAt(0).cloneContents();

Но я не мог выяснить, как получить необработанный код html с этим объектом узла. То, что я хочу, это необработанный html код выбора. независимо от того, является ли html неполным из-за выбора или нет.

Спасибо за вашу помощь!

function getSelectionTextAndContainerElement() {
   var text = "", containerElement = null;
   if (typeof window.getSelection != "undefined") {
      var sel = window.getSelection();
      alert(sel);
      if (sel.rangeCount) {
        var node = sel.getRangeAt(0).commonAncestorContainer;
        containerElement = node.nodeType == 1 ? node : node.parentNode;
        text = sel.toString();
      }
   } else if (typeof document.selection != "undefined" &&
           document.selection.type != "Control") {
       var textRange = document.selection.createRange();
       containerElement = textRange.parentElement();
       alert(textRange);
       text = textRange.text;
   }
   return {
       text: text,
       containerElement: containerElement
   };
}

В соответствии с запросом html, но код может отличаться от время от времени!

        <p><img alt="devil" height="23" src="http://www.domain.eu/typo3conf/ext/simpleblog/Resources/Public/CKEDITOR/plugins/smiley/images/devil_smile.png" title="devil" width="23" /> Ist doch ganz nett, oder?</p>
        </div>
        <input type="hidden" name="tx_simpleblog_fesblog[editBlog][subBlog]" value="1" />
    </div>

Мой тестовый пример в настоящее время, чтобы выбрать из "изображения devil_smile до конца" Ist doch nett, oder?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...