是否可以突出显示网页上的文字,然后使用javaScript检查html? (假设javascript将HTML吐入另一个DIV)
我正在构建chrome的扩展程序,我希望用户能够突出显示文本,我希望扩展程序能够做两件事:复制该文本(在textarea / input或span / div中) / any-element或检查span / div / any-element中所选文本的HTML。
这一切都假设chrome具有编辑和编辑的能力。检查DOM。我相信这是因为我在GC的扩展管理器中收到的这个警告 这告诉我扩展有一些访问权限。至少到页面地址。有更多的访问权限吗?
答案 0 :(得分:0)
注意:以下内容不适用于IE< 9.有关跨浏览器的解决方案,请参阅HTML of selected text。
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;
}
答案 1 :(得分:0)
首先,不要介意Chrome为隐身模式提供的警告。只是为了警告人们,当在隐身模式下启用扩展时,用户可能不会100%安全地记录他的浏览行为(某些恶意扩展可能会收集,例如银行访问数据)。
如果您想捕获用户在某个textarea / input字段中选择的文本,您需要先阅读并在您的扩展程序中实现content script。然后Chrome会将这样的脚本注入您选择的网站。从那里它可以操纵DOM并监听事件(就像常规脚本嵌入到网站中一样)。
有关获取所选文本的详细信息,请参阅Tims回答您的问题或只是搜索stackoverflow - 之前已多次询问此问题。