привязка jquery к извлечению html - PullRequest
1 голос
/ 14 декабря 2009

Я хотел бы реализовать что-то похожее на расширение для быстрой прокрутки Google с jquery для извлечения результатов поиска, поэтому при открытии полного документа (на том же веб-сайте) он дает пользователю возможность перейти прямо к месту выписки.

Вот пример того, что я получаю из поисковой системы, когда я ищу «еду».

<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, который использует расширение.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2009

Вы можете изучить javascript, используемый в расширении 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 - уникальный идентификатор расширения.

0 голосов
/ 14 декабря 2009

Я не совсем понимаю детали, что и где у вас есть в вашем приложении и где находится ваш JS (данный документ в рамке или в том же документе?). По сути, если у вас есть приложение на стороне сервера, вам нужно сформировать ссылку в JQuery, например /highlighter.php?search=Food#2, и поместить в выделенный документ привязку.

Если вам нужно сделать это только с JQuery, тогда, я думаю,

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

и JS на главной странице (где размещены кадры):

$(hl.document.body).html($(hl.document.body).html().replace('Food', '<a name=\'entry2\'></a><span class=\'highlighted\'>Food</span>'))
hl.location = hl.location + '#entry2'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...