Я работаю над приложением для заметок, где я должен хранить выбранные пользователем ключевые слова или слова или контент. Я использую методы createRange() и addRange() javascript для создания диапазона, а затем узнаю выбранные элементы/содержимое пользователем. Код, написанный для этого, следующий.
<head>
<script type="text/javascript">
var storedSelections = [];
function StoreSelection () {
if (window.getSelection) {
var currSelection = window.getSelection ();
for (var i = 0; i < currSelection.rangeCount; i++) {
storedSelections.push (currSelection.getRangeAt (i));
}
currSelection.removeAllRanges ();
} else {
alert ("Your browser does not support this example!");
}
}
function ClearStoredSelections () {
storedSelections.splice (0, storedSelections.length);
}
function ShowStoredSelections () {
if (window.getSelection) {
var currSelection = window.getSelection ();
currSelection.removeAllRanges ();
for (var i = 0; i < storedSelections.length; i++) {
currSelection.addRange (storedSelections[i]);
}
} else {
alert ("Your browser does not support this example!");
}
}
</script>
</head>
<body>
Select some content on this page and use the buttons below.<br /> <br />
<button onclick="StoreSelection ();">Store the selection</button>
<button onclick="ClearStoredSelections ();">Clear stored selections
</button>
<button onclick="ShowStoredSelections ();">Show stored selections</button>
</body>
Этот код отлично работает на Firefox. Я могу выбрать несколько вещей один за другим и снова показать выбранный контент, но на хром и хром я получаю ошибку Discontiguous selection is not supported.
, когда я храню несколько элементов в массиве диапазонов и нажимаю кнопку "Показать сохраненные выборы".
Помощь будет оценена по достоинству. И, пожалуйста, предложите мне, если есть другие альтернативы, которые выполняют эту задачу по закладок.