2011-09-23 69 views
0

我正在測試插件「searchHighlight」以在搜索關鍵字時突出顯示搜索頁上的搜索詞。問題是它只能讀取引薦網址,而我不知道如何修改,因此它只會讀取當前的網址,而不是引薦網址。jQuery突出顯示基於URL的搜索詞

I.e.

  1. 我使用我們的搜索框,我的主頁
  2. 我要尋找的「玻璃門」
  3. 結果拿出的搜索頁面上,但沒有突出
  4. 我點擊一個產品上寫着「玻璃「或‘門’在它
  5. 在產品網頁它突出我搜索詞語(」玻璃+‘門’)

例URL搜索:http://tsqja.deznp.servertrust.com/SearchResults.asp?Search=glass+door&x=0&y=0

從上面的示例中我們可以看到,它是基於引用URL關鍵字突出顯示的。我希望它使用實際的搜索結果。鑑於正則表達式,這是我的搜索結果頁面:

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

任何人都知道這是如何實現的?通過jQuery獲取基於上述正則表達式的突出顯示的搜索條件最好?

+0

嗯,它並不能解決問題,但獲取頁面的查詢結果真的很容易。您可以使用'location.search'獲取當前的'something = blah'部分url# –

+0

謝謝,它是一個開始。 – ToddN

回答

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選項完全禁用引薦檢查。

+0

我試過這個,也許我需要重新訪問。我只需要創建一個函數來抓取搜索詞並將其放入'鍵'中。它是否正確? – ToddN

+0

是的,你可以在他們的[演示頁面](http://www.jquery.info/scripts/SearchHighlight/demo_en.html)上看到它是如何工作的(在你找到了這些術語之後)。 應該有一些功能從[我在評論中包含的頁面](http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript)中獲取搜索詞。 – mmcnickle

0

嘗試使用用於jQuery的SearchHighlight插件。他們有一個演示頁here

+0

我一直在使用這個,但它只讀取引用。如果我可以修改插件只使用我指定的URL而不使用引用,它將是完美的。 – ToddN

+0

您是否嘗試過編輯debug_referrer選項? –

+0

我也發現這個[插件](http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html)..看起來很有趣 –

0

嗯,再次它不是最好的解決方案究竟......但你可以這樣做:

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

如果當前的URL是將刷新頁面不是推薦人。這隻會運行一次,只要url不會在頁面加載時不斷變化。