Tôi đang làm việc trên ứng dụng dấu trang, nơi tôi phải lưu trữ từ khóa hoặc từ hoặc nội dung đã chọn của người dùng. Tôi đang sử dụng các phương thức javascript createRange() và addRange() để tạo phạm vi và sau đó tìm ra các phần tử/nội dung đã chọn bởi người dùng. Mã tôi viết cho điều này là như sau.Lựa chọn không tôn trọng không được hỗ trợ lỗi trong google chrome và chromium
<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>
Mã này đang làm việc một cách hoàn hảo trên Firefox. Tôi có thể chọn nhiều thứ từng cái một và có thể hiển thị lại nội dung đã chọn nhưng trên chrome và crom tôi gặp phải lỗi Discontiguous selection is not supported.
khi tôi lưu trữ nhiều hơn một thành phần trong dãy ô và nhấp vào nút hiển thị lựa chọn được lưu trữ.
Trợ giúp sẽ được đánh giá cao. Và vui lòng đề nghị tôi nếu có một số lựa chọn thay thế khác thực hiện tác vụ đánh dấu trang này.
Có thể [this] (https://code.google.com/p/rangy/issues/detail?id=208) trợ giúp không? – Siguza
Có được rằng nó chỉ là một cảnh báo nhưng nếu bạn chạy mã trong cả hai firefox và chrome, bạn sẽ thấy sự khác biệt trong chức năng và sẽ thấy rằng nó là một lỗi trong chromium và chrom –
Chỉ cần thử nghiệm nó trên OS X 10.10 với Chrome (40.0.2214.93, 64bit) và Safari (8.0.2, xây dựng 10600.2.5) - hoạt động với cả hai và không có gì trong giao diện điều khiển cả. – Siguza