2009-12-14 56 views
1

我想实现类似Google quick scroll extension东西用jQuery的搜索结果的提取物,所以完整的文档被打开(在同一网站内)时,它提供用户有机会直来直去到提取位置。jQuery的锚HTML摘录

这里是什么,我得到来自搜索引擎,当我寻找“食物”返回的样品。

<doc> 
    <docid>129305</docid> 
    <title><span class='highlighted'>Food</span></title> 
    <summary> 
    <summarytext>Papers subject to Negative Resolution: 4 <span class='highlighted'>Food</span>  <span class='highlighted'>Food</span> Irradiation (England) Regulations 2009 (S.I., 2009, No. 1584), dated 24 June 2009 (by Act), </summarytext> 
    </summary> 
    <paras> 
    <paraitemcount>2</paraitemcount> 
    <para> 
     <paraitem>1</paraitem> 
     <paraid>42</paraid> 
     <pararelevance>100</pararelevance> 
     <paraweights>50</paraweights> 
     <paratext>4 <span class='highlighted'>Food</span></paratext> 
    </para> 
    <para> 
     <paraitem>2</paraitem> 
     <paraid>54</paraid> 
     <pararelevance>100</pararelevance> 
     <paraweights>50</paraweights> 
     <paratext><span class='highlighted'>Food</span> Irradiation (England) Regulations 2009 (S.I., 2009, No. 1584), dated 24 June 2009 (by Act), with an Explanatory Memorandum and an Impact Assessment (</paratext> 
    </para> 
    </paras> 
</doc> 

正如您看到搜索引擎已返回包含一个摘要和两个摘录的文档。

因此,假设用户点击搜索摘要页面中的第二个摘录,浏览器将在同一网站中打开详细文档,并向用户提供以Google快速滚动扩展名访问摘录的可能性确实。

是否有一个现有的jQuery脚本?如果没有,你可以建议任何jQuery/JavaScript代码,这将简化我的任务来实现这一点。

注:

  • 我可以从文档的详细页面访问提取物。
  • 我知道HTML在某些情况下可能会在提取中略有不同,但在细节页面中找不到匹配项。
  • 搜索引擎不会返回摘录所在的位置。
  • 目前我正在尝试了解扩展使用的JS代码。
+0

您是否有服务器端脚本来突出显示Google中找到的文本?这将促进这项任务很多。 – 2009-12-14 11:49:19

+0

它可以使用PHP来突出显示文档详细信息中的提取内容,但每次打开文档时处理平均3个提取内容会很昂贵。特别是如果文件很长。 – 2009-12-14 12:19:03

回答

0

我不太了解细节,你的应用程序中有什么和哪里以及你的JS(是给定的文档在框架中还是在同一个文档中?)。基本上,如果你有一个服务器端应用程序,你需要在JQuery中形成一个链接,如/highlighter.php?search=Food#2,并将突出显示的文档放在一个锚点中。

如果你需要使用jQuery做的只有这一点,那么我想

<frame name="hl" src="original.document" /> 

和JS在主网页(托管帧):您可以检查所使用的JavaScript

$(hl.document.body).html($(hl.document.body).html().replace('Food', '<a name=\'entry2\'></a><span class=\'highlighted\'>Food</span>')) 
hl.location = hl.location + '#entry2' 
+0

嗨,culebron,PHP应用程序和搜索引擎返回的所有文档都存储在本地环境中。我不需要突出显示搜索参数,但完整的提取。由于提取物甚至不能包含搜索到的确切单词。 – 2009-12-14 12:23:49

0

在Chrome扩展中,因为扩展只是普通的网页内容。

在Vista中,路径为: C:\Users\[YOUR_USER_NAME]\AppData\Local\Google\Chrome\User Data\Default\Extensions\okanipcmceoeemlbjnmnbdibhgpbllgc

在XP中,路径为: C:\Documents and Settings\[YOUR_USER_NAME]\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions\okanipcmceoeemlbjnmnbdibhgpbllgc

哪里okanipcmceoeemlbjnmnbdibhgpbllgc是扩展的唯一ID。