当选择一个文本块(可能跨越许多DOM节点)时,是否可以使用Javascript提取所选文本和节点?
想象一下这个HTML代码:
<h1>Hello World</h1><p>Hi <b>there!</b></p>
Run Code Online (Sandbox Code Playgroud)
如果用户发起了一个从"World ..."开始的mouseDown事件,然后是一个mouseUp甚至就在"那里!"之后,我希望它会返回:
Text : { selectedText: "WorldHi there!" },
Nodes: [
{ node: "h1", offset: 6, length: 5 },
{ node: "p", offset: 0, length: 16 },
{ node: "p > b", offset: 0, length: 6 }
]
Run Code Online (Sandbox Code Playgroud)
我已经尝试将HTML放入textarea但这只会让我获得selectedText.我没有尝试过该<canvas>元素,但这可能是另一种选择.
如果不是JavaScript,有没有办法使用Firefox扩展?