本文介绍如何在 JavaScript 中获取用户选中的文本内容。针对现代浏览器(Firefox、Chrome、Safari、Opera),推荐使用 window.getSelection() 方法;而在旧版 IE 浏览器中,需使用 document.selection.createRange().text。文章提供了将两者结合的兼容代码示例,确保在不同环境下均能正确返回选区文本。
JavaScript 跨浏览器获取选中文本的实现方案
实现获取选中文本功能主要有以下两种路径:
对于 Firefox、Google Chrome、Safari 以及 Opera 等现代浏览器,可以使用 window.getSelection() 方法(详见 MDC 文档)。
在 Internet Explorer 浏览器中,则应使用 document.selection.createRange().text 属性(详见 MSDN 文档)。
注意:以下是将上述两种机制整合在一起的完整代码示例:
代码如下:
function getSelectionText() {
if(window.getSelection) {
return window.getSelection().toString();
} else if(document.selection && document.selection.createRange) {
return document.selection.createRange().text;
}
return '';
}