我目前使用以下方法将网页中的选定文本获取到自定义 Firefox 扩展中:
getSelectedText: function(){
var textWindow = document.commandDispatcher.focusedWindow;
var text = textWindow.getSelection();
if (text == null) {text =' ';}
text = text.toString();
text = text.replace(/^\s*$/ , "");
text = text.replace(/\r/g, "\r");
text = text.replace(/\n/g, "\n");
text = text.replace(/^\s+|\s+$/g , " ");
text = text.replace(new RegExp(/\u2019/g), "'");
text = text.replace(new RegExp(/\u201A/g), ",");
text = text.replace(new RegExp(/\u201B/g), "'");
return {str:text};
}
这适用于纯文本。
我的问题是我想要复制网页的所有元素(有点像 safari 中的 webclips 功能)
用例 -如果用户通过带有格式化文本和图像的网页进行选择,我希望底层 HTML 也被复制,以便我可以准确地将其粘贴到另一个 XUL 窗口中 - 如果我可以将内容作为富 HTML 电子邮件发送所以希望。
任何指针?