Z mojego previous question do wybrania określonego tekstu HTML, przeszedłem przez this link, aby zrozumieć zakres w łańcuchu html.html - zakres wyboru - uzyskanie zakresu + węzeł początkowy + węzeł końcowy + odległość
Aby wybrać określony tekst na stronie html. Musimy postępować zgodnie z tymi krokami.
Zakładana HTML: skrypt
<h4 id="entry1196"><a
href="http://radar.oreilly.com/archives/2007/03/call_for_a_blog_1.html"
class="external">Call for a Blogger's Code of Conduct</a></h4>
<p>Tim O'Reilly calls for a Blogger Code of Conduct. His proposals are:</p>
<ol>
<li>Take responsibility not just for your own words, but for the
comments you allow on your blog.</li>
<li>Label your tolerance level for abusive comments.</li>
<li>Consider eliminating anonymous comments.</li>
</ol>
Java, aby dokonać wyboru według zakresu
var range = document.createRange(); // create range
var startPar = [the p node]; // starting parameter
var endLi = [the second li node]; // ending parameter
range.setStart(startPar,13); // distance from starting parameter.
range.setEnd(endLi,17); // distance from ending parameter
range.select(); // this statement will make selection
chcę zrobić to w sposób inwertowanego. Zakładam, że wybór dokonywany jest przez użytkownika w przeglądarce (safari). Moje pytanie brzmi: w jaki sposób możemy uzyskać węzeł początkowy (ponieważ mamy tutaj "węzeł p") i węzeł końcowy (ponieważ mamy tu "drugi węzeł li") oraz zakres (jak mamy tutaj 13,17) ?
Edit: moje wysiłki (od this question)
var sel = window.getSelection();
if (sel.rangeCount < 1) {
return;
}
var range = sel.getRangeAt(0);
var startNode = range.startContainer, endNode = range.endContainer;
// Split the start and end container text nodes, if necessary
if (endNode.nodeType == 3) {
endNode.splitText(range.endOffset);
range.setEnd(endNode, endNode.length);
}
if (startNode.nodeType == 3) {
startNode = startNode.splitText(range.startOffset);
range.setStart(startNode, 0);
}
Ale jeszcze jestem mylić o uzyskanie jak, jeśli wybrany jest akapit pierwszy lub drugi lub trzeci, czy wybrany jest w pierwszej pozycji lub drugiej pozycji lub co ...
Czy możesz dokładnie wyjaśnić, co chcesz osiągnąć? –
@Tim Down - pozwól mi wyjaśnić. Użytkownik dokonuje wyboru i stuka w przycisk. Muszę przechowywać zakres wybrany przez użytkownika. –