jQuery根据URL突出显示搜索词

时间:2011-09-23 13:42:39

标签: jquery regex url search highlight

我正在测试插件“searchHighlight”,以便在搜索关键字时突出显示搜索页面上的搜索字词。问题是它只读取引荐URL,我不知道如何修改它,所以它只读取你的on而不是引用的当前URL。

即。

  1. 我使用主页上的搜索框
  2. 我搜索'玻璃门'
  3. 结果出现在搜索页面上,但没有突出显示
  4. 我点击了一个带有'glass'或'door'字样的产品
  5. 在产品页面上突出显示我搜索的字词('glass'+'door')
  6. 搜索的示例网址:http://tsqja.deznp.servertrust.com/SearchResults.asp?Search=glass+door&x=0&y=0

    从上面尝试给出的示例中,您可以看到它是基于推介URL关键字突出显示的。我希望它使用实际的搜索结果。鉴于正则表达式,这是我的搜索结果页面:

    [/^http:\/\/(tsqja\.)?deznp\.servertrust/i,/Search=([^&]+)/i]
    

    任何人都知道如何实现这一目标?通过jQuery优先获得基于上述正则表达式的突出显示的搜索词?

3 个答案:

答案 0 :(得分:0)

尝试使用jQuery的SearchHighlight插件。他们有一个演示页面here

答案 1 :(得分:0)

嗯,这不是最好的解决方案......但你可以使用它:

if(document.referrer !== location.href) location.reload()

如果当前网址不是引荐来源,则会重新加载网页。只有在页面加载时不经常更改网址时,才会运行一次。

答案 2 :(得分:0)

您可以使用keys配置选项在搜索页面上手动设置突出显示。您可以使用小脚本使用正则表达式从URL获取搜索词,然后将配置传递给SearchHighlight:

// Get the keys from the URL using a regex
// http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript
...

// Put the keys into the options
var options = {keys: "Glass Door"}
jQuery(document).SearchHighlight(options);

使用keys选项完全禁用引荐来源检查。