我正在尝试为windows编写chrome扩展,将所有选定的文本从页面复制到剪贴板。我使用jquery来执行java脚本部分。
如何在该页面中获取任何选定/突出显示的文字?换句话说,是否有一个事件监听器,当突出显示任何文本部分时会触发该事件监听器。
答案 0 :(得分:3)
我目前为止遇到的最佳体验是使用 zeroclipboard 并使用document.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
});
答案 1 :(得分:3)
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..."
};