我正在构建一个JS书签,它允许我捕获用户在其浏览器中选择的文本并将其发送到Web应用程序。目前我已经签出一对夫妇的教程,并有一个脚本,看起来像这样:Bookmarklet,它捕获选定的内容,包括HTML标记
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看看:http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/ – mVChr 2011-05-12 06:15:15
那么,JQuery是我所熟悉的。但是我想知道在技术上会是一个非常小的JS的膨胀......(如果这是一个很大的话,我试图做的事实际上是非常简单的跨浏览器)。谢谢堆,但我一定会尝试一下! – 2011-05-12 06:20:00