Tôi đang gặp một số sự cố khi chọn lựa từ một WebView trong Android.Android WebView Javascript getSelection
Tôi có thể đưa WebView vào chế độ chọn. Tôi thậm chí có thể lấy nó để sao chép văn bản vào Clipboard. Nhưng điều tôi thực sự muốn làm là làm nổi bật vùng chọn vĩnh viễn.
Vì vậy, ý tưởng đặt WebView ở chế độ được chọn. Cho phép người dùng chọn văn bản và sau đó kích hoạt nội dung nào đó để đánh dấu văn bản đó. Tôi có thể làm cho nó hoạt động bằng cách lấy văn bản đã chọn từ clipboard, sau đó tìm kiếm nó trong Javascript và tô sáng nó. Sự cố xảy ra khi người dùng chọn một từ phổ biến thực sự. Tôi phải làm nổi bật tất cả hoặc bằng cách nào đó tìm ra nơi lựa chọn là để có được một trong những quyền.
Tôi đã thử JavaScript này hoạt động trên iPhone. Bu getSelection() dường như không hoạt động trên Android.
function highlight(colour) {
var range, sel;
if (window.getSelection) {
// Non-IE case
sel = window.getSelection();
if (sel.getRangeAt) {
range = sel.getRangeAt(0);
}
document.designMode = "on";
if (range) {
sel.removeAllRanges();
sel.addRange(range);
}
// Use HiliteColor since some browsers apply BackColor to the whole block
if (!document.execCommand("HiliteColor", false, colour)) {
document.execCommand("BackColor", false, colour);
}
document.designMode = "off";
} else if (document.selection && document.selection.createRange) {
// IE case
range = document.selection.createRange();
range.execCommand("BackColor", false, colour);
}
}
Mọi đề xuất?
Làm thế nào để bạn nhận được nó để sao chép văn bản vào clipboard? Bạn có làm điều này theo lập trình hay không, hoặc bạn có dựa vào người dùng để thực hiện việc lựa chọn theo cách thủ công hay không. –