是否可以突出显示文本并使用javaScript检查html?

是否可以突出显示文本并使用javaScript检查html?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,是否可以突出显示网页上的文本,然后用javaScript检查html?(假设javascript将HTML放入另一个DIV) 我正在为chrome构建一个扩展,我希望用户能够突出显示文本,我希望扩展能够做两件事:复制文本(在textarea/input或span/div/any元素中),或检查span/div/any元素中所选文本的HTML 这都是基于chrome有能力编辑和检查DOM的假设。我相信这是因为我在GC的extensions manager中收到了这个警告 这说明这些扩展插件至少可以

是否可以突出显示网页上的文本,然后用javaScript检查html?(假设javascript将HTML放入另一个DIV)

我正在为chrome构建一个扩展,我希望用户能够突出显示文本,我希望扩展能够做两件事:复制文本(在textarea/input或span/div/any元素中),或检查span/div/any元素中所选文本的HTML

这都是基于chrome有能力编辑和检查DOM的假设。我相信这是因为我在GC的extensions manager中收到了这个警告
这说明这些扩展插件至少可以访问页面地址。还有更多访问权限吗?

注意:以下内容在IE<9中不起作用。有关跨浏览器解决方案,请参阅


首先,不要介意Chrome对隐姓埋名模式的警告。它只是警告人们,当在隐姓埋名模式下启用扩展时,用户的浏览行为不会被记录下来,这不是100%安全的(一些邪恶的扩展可能会收集到银行访问数据)

如果您想捕获用户在某个文本区域/输入字段中选择的文本,您需要从阅读并在扩展中实现开始。这样的脚本将由Chrome注入到您选择的网站中。从那里,它可以操作DOM并侦听事件(就像嵌入到网站中的常规脚本一样)


有关获取所选文本的详细信息,请参阅Tims对您的问题的回答,或者简单地搜索stackoverflow-这个问题以前被问过多次。

出于好奇,您打算对所选dom元素进行什么样的检查?我希望用户能够在屏幕上突出显示一个元素并使用我的扩展名定期检查该元素是否已更改。很抱歉问了一个重复的问题。我首先搜索了它,我一定是使用了错误的单词集。
function getSelectionText() {
    var text = "";
    if (typeof window.getSelection != "undefined") {
        text = window.getSelection().toString();
    }
    return text;
}

function getSelectionHtml() {
    var html = "";
    if (typeof window.getSelection != "undefined") {
        var sel = window.getSelection();
        if (sel.rangeCount) {
            var container = document.createElement("div");
            container.appendChild(sel.getRangeAt(0).cloneContents());
            html = container.innerHTML;
        }
    }
    return html;
}