Từ số previous question để chọn văn bản html cụ thể, tôi đã trải qua this link để hiểu phạm vi trong chuỗi html.html - phạm vi lựa chọn - nhận phạm vi + nút bắt đầu + nút kết thúc + khoảng cách
Để chọn văn bản cụ thể trên trang html. Chúng ta cần phải làm theo các bước này.
giả định HTML:
<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 script để tạo vùng chọn bằng cách phạm vi
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
Tôi muốn làm điều này trong nghịch chiều. Ý tôi là, giả định rằng lựa chọn được thực hiện bởi người dùng trên trình duyệt (safari). Câu hỏi của tôi là làm thế nào chúng ta có thể có nút khởi đầu (như chúng ta có 'nút p' ở đây) và nút kết thúc (như chúng ta có 'nút li thứ hai' ở đây) và phạm vi (như chúng ta có 13,17 ở đây) ?
Edit: nỗ lực của tôi (Từ 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);
}
Nhưng, nhưng tôi đang bối rối về nhận như thế nào, nếu được lựa chọn là đoạn đầu tiên hoặc thứ hai hoặc thứ ba, hoặc chọn là được xếp vào nhóm đầu tiên hoặc một nhóm thứ hai hoặc những gì ....
Bạn có thể làm rõ chính xác bạn muốn đạt được điều gì không? –
@Tim Down - hãy để tôi giải thích. Người dùng thực hiện lựa chọn và nhấn vào nút. Tôi cần lưu trữ phạm vi mà người dùng đã chọn. –