【发布时间】:2011-08-23 20:34:56
【问题描述】:
我正在构建一个 JS 小书签,它允许我捕获用户在浏览器中选择的文本并将其发送到 Web 应用程序。我目前查看了一些教程,并有一个如下所示的脚本:
javascript:var t;try {t=((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));}catch(e){t="";}alert(t);
为了更容易理解,这里的代码更易读:
javascript:
var t;
try {
t=((window.getSelection&&window.getSelection()) || (document.getSelection&&document.getSelection()) || (document.selection&&document.selection.createRange&&document.selection.createRange().text));
}catch(e)
{
t="";
}
alert(t);
我当前的代码抓取了选定的文本并发出警报,以便我可以看到捕获的内容。然而,文本的格式对我来说很重要,所以我真正想做的就是抓住这段文本中的任何 HTML。事实上,我认为最好还是弄清楚用户在页面中选择的位置,并从所选内容的开头和结尾查找以找到最近的 HTML 标记,然后抓取其中的内容。 (因为用户无法判断他们是否选择了 HTML)
我更习惯于使用 JQuery 来进行 DOM 选择,所以目前这有点过头了。 (除非您可以将 JQuery 与书签一起使用……可以吗?)
谁能帮我解决这个问题? (即使只是为我指出正确的方向也很好,我将其作为一个爱好学习项目来做,所以我很高兴自己想出一些东西。)
【问题讨论】:
-
如果你真的想在其中使用 jQuery,请查看:smashingmagazine.com/2010/05/23/…
-
嗯,JQuery 是我所熟悉的。但是我想知道用它来膨胀从技术上讲是一小部分 JS ......(如果,这是一个很大的如果,我想要做的实际上是跨浏览器非常简单)。非常感谢,我一定会试试看!