小编Bob*_*ley的帖子

Android WebView Javascript getSelection

我在使用Android中的WebView进行选择时遇到了一些麻烦.

我可以让WebView进入选择模式.我甚至可以将它复制到ClipBoard.但我真正想做的是永久地突出选择.

因此,想法是将WebView置于选择模式.让用户选择文本,然后触发某些内容以突出显示该文本.我可以通过从剪贴板中获取所选文本来使其工作,然后在Javascript中搜索它并突出显示它.当用户选择真正的常用词时会出现问题.我必须要么突出显示它们,要么以某种方式找出选择的位置以获得正确的选择.

我试过这个适用于iPhone的JavaScript.Bu getSelection()似乎不适用于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);
    }
} …
Run Code Online (Sandbox Code Playgroud)

javascript android webview

25
推荐指数
2
解决办法
9559
查看次数

标签 统计

android ×1

javascript ×1

webview ×1