Firefox addon 在Mozilla扩展中获取当前选择
对于Mozilla扩展,我希望从任何删除的文本中获得原始文本(HTML删除)。 如果我使用Firefox addon 在Mozilla扩展中获取当前选择,firefox-addon,selection,Firefox Addon,Selection,对于Mozilla扩展,我希望从任何删除的文本中获得原始文本(HTML删除)。 如果我使用 在我的方法中,它适用于HTML上的选定文本,但不适用于表单中的文本(例如textarea)。在本例中,它不返回任何内容。是否有一种方法适用于所有可能类型的标记文本?您可以检查document.activeElement,如果它是输入或文本区域,则从中获取选择,否则返回到window.getSelection()。我不知道如何从Mozilla扩展访问文档对象,但我肯定你是这样做的 可能是这样的(将页面的窗口
在我的方法中,它适用于HTML上的选定文本,但不适用于表单中的文本(例如textarea)。在本例中,它不返回任何内容。是否有一种方法适用于所有可能类型的标记文本?您可以检查
document.activeElement
,如果它是输入或文本区域,则从中获取选择,否则返回到window.getSelection()
。我不知道如何从Mozilla扩展访问文档
对象,但我肯定你是这样做的
可能是这样的(将页面的窗口
和文档
对象作为函数参数传递):
演示:
代码:
您可以检查
document.activeElement
,如果它是输入或文本区域,则从中获取选择,否则返回到window.getSelection()
。我不知道如何从Mozilla扩展访问文档
对象,但我肯定你是这样做的
可能是这样的(将页面的窗口
和文档
对象作为函数参数传递):
演示:
代码:
您可以检查
document.activeElement
,如果它是输入或文本区域,则从中获取选择,否则返回到window.getSelection()
。我不知道如何从Mozilla扩展访问文档
对象,但我肯定你是这样做的
可能是这样的(将页面的窗口
和文档
对象作为函数参数传递):
演示:
代码:
您可以检查
document.activeElement
,如果它是输入或文本区域,则从中获取选择,否则返回到window.getSelection()
。我不知道如何从Mozilla扩展访问文档
对象,但我肯定你是这样做的
可能是这样的(将页面的窗口
和文档
对象作为函数参数传递):
演示:
代码:
var selectedText = content.getSelection().toString();
alert(selectedText);
function getSelectedText(win, doc) {
var activeEl = doc.activeElement, start, end;
if ( activeEl &&
/^(textarea|input)$/i.test(activeEl.nodeName) &&
(start = activeEl.selectionStart) != (end = activeEl.selectionEnd)) {
return activeEl.value.slice(start, end);
} else {
return "" + win.getSelection();
}
}