我正在尝试为 windows 编写一个 chrome 扩展,它将任何选定的文本从页面复制到剪贴板。我正在使用 jquery 来执行 java 脚本部分。
如何在该页面中获取任何选定/突出显示的文本?换句话说,是否有一个事件侦听器,当突出显示文本的任何部分时会触发该事件侦听器。
我正在尝试为 windows 编写一个 chrome 扩展,它将任何选定的文本从页面复制到剪贴板。我正在使用 jquery 来执行 java 脚本部分。
如何在该页面中获取任何选定/突出显示的文本?换句话说,是否有一个事件侦听器,当突出显示文本的任何部分时会触发该事件侦听器。
到目前为止,我有过的最好的经验是使用zeroclipboarddocument.selection.createRange().text
并使用或 手动将选定的文本附加到它window.getSelection()
用法:http ://code.google.com/p/zeroclipboard/wiki/Instructions
这应该给你一个好的开始:
var highlighted;
$(document).on('mouseup', function(e){
if (window.getSelection) {
highlighted = window.getSelection();
} else if (document.selection) {
highlighted = document.selection.createRange();
}
var selectedText = highlighted.toString() !=='' && highlighted;
alert(selectedText); // to be added to clipboard
});
function getSelected() {
if (window.getSelection) return window.getSelection();
if (document.getSelection) return document.getSelection();
if (document.selection) return document.selection.createRange().text;
}
document.onmouseup = function () {
getSelected(); // => "Something you've sele..."
};