获取突出显示的文本
从网站的段落中检索突出显示的文本是一项简单的任务,无需额外的库(如 jQuery)即可完成。
使用浏览器原生对象
以下代码片段演示了如何使用浏览器本机对象检索突出显示的文本:
function getSelectionText() { let text = ""; if (window.getSelection) { text = window.getSelection().toString(); } else if (document.selection && document.selection.type != "Control") { text = document.selection.createRange().text; } return text; }
增强实现
为了处理其他表单元素(例如文本区域和文本输入字段)中的文本选择,可以使用增强的实现使用:
function getSelectionText() { let text = ""; const activeElement = document.activeElement; if ( (activeElement.tagName.toLowerCase() === "textarea") || (activeElement.tagName.toLowerCase() === "input" && /^(?:text|search|password|tel|url)$/i.test(activeElement.type)) && (typeof activeElement.selectionStart === "number") ) { text = activeElement.value.slice(activeElement.selectionStart, activeElement.selectionEnd); } else if (window.getSelection) { text = window.getSelection().toString(); } return text; }
实时更新
要实时显示所选文本,可以在 onmouseup、onkeyup 等文档事件中添加事件监听器onselectionchange.然后可以将更新后的文本填充到指定元素中,例如文本框。
以上是如何仅使用浏览器本机对象从网站获取突出显示的文本?的详细内容。更多信息请关注PHP中文网其他相关文章!