这段代码使用了`document.queryCommandValue()`方法来获取当前选区中文本的颜色。但是该方法也已经被弃用,不再建议使用。
如果您需要获取选区中文本的颜色,可以使用`Selection`和`Range` API来手动处理选区和范围。以下是一个示例函数,它可以获取当前选区中第一个字符的颜色:
```
function getTextColor() {
const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const firstNode = range.startContainer.childNodes[range.startOffset];
if (firstNode && firstNode.nodeType === Node.TEXT_NODE) {
return window.getComputedStyle(firstNode.parentElement).color;
}
}
return null;
}
```
在这个示例中,我们首先获取当前选区的范围。然后,我们通过`range.startContainer`和`range.startOffset`获取选区中的第一个节点,并判断其是否为文本节点。最后,我们使用`window.getComputedStyle()`方法获取该节点的计算样式,从而获取其颜色属性。
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。