использование Range.StartContainer в ContentWindow - PullRequest
0 голосов
/ 14 апреля 2011

каков результат использования этой инструкции xpcom

  Sel:=ContentWindow.GetSelection;
  Range:=Sel.GetRangeAt(0);     
  Range.StartContainer

GetSelection дает нам все выбранные элементы?

1 Ответ

1 голос
/ 18 апреля 2011

Выбор состоит из нескольких объектов Range, обычно 1. Каждый объект Range состоит из StartContainer и StartOffset, а также EndContainer и EndOffset. Если соответствующий контейнер является текстовым узлом, тогда смещение является символьным смещением, но иногда контейнер является элементом, и в этом случае смещение является индексом дочернего узла. Так, например, учитывая HTML

<p>The <strong>strong</strong> tag usually results in <b>bold</b> text.</p>

Если начальным контейнером является текст «strong», а начальным смещением является 3, в то время как конечным контейнером является текст «жирным шрифтом», а конечным смещением является 2, то выбранный текст будет « ong ». тег обычно приводит к bo".

После внесения поправок для особых случаев (например, начальный и конечный контейнеры являются одним и тем же текстовым узлом), вы можете использовать такие методы, как TreeWalker, для посещения узлов в диапазоне.

...