我尝试使用范围检查鼠标是否在网址上,但我不知道如何告诉扩展范围以获取完整网址,而不仅仅是每个字。
以下是显示问题的示例:jsFiddle
我将在可编辑的iframe中使用此代码。如果用户写了一个url,我想让他有可能打开它,虽然它不是一个锚元素而是纯文本。我不确定是否可以实现,但我想尝试一下。
答案 0 :(得分:0)
一个问题是Range的expand()
方法是非标准的,只在WebKit中受支持。另一个是document.caretRangeFromPoint()
也是WebKit。还有一种方法是,在识别单词时无法指定匹配的正则表达式。
一个选项是我的TextRange module库的新Rangy,它适用于所有主流浏览器,并提供更灵活的expand()
范围方法。还有一个正在进行中的位置模块,它提供document.caretRangeFromPoint()
的跨浏览器实现(标准化为document.caretPositionFromPoint()
)。
不幸的是,位置模块在Firefox中很不稳定,但我打算很快修复它。此外,由于我认为与jsFiddle相关的原因,以下演示目前在IE中不起作用。总的来说这远非令人满意,但可能会给你一些想法。