2012-03-14 46 views
0

http://jsfiddle.net/dS4r3/24/?q=hsbc在這種情況下實現的這個JS代碼有什麼問題?

這段代碼的作用是它需要的頁面的引用者,如果它包含的關鍵字之一,美看到有它填補了其中的內容與特定的div(這也說明它)

由於你可以看到它的工作正常,當你點擊那裏,div出現,並充滿了包含關鍵字「hsbc」的內容。簡而言之,該功能正在執行中。

現在的問題是,當我在這裏執行完全相同的代碼,功能似乎並不執行:http://segurosendirecto.com.ar/cotizador-de-seguros-auto/?kw=hsbc

事情我試過到目前爲止並沒有工作:

  • 更新的jQuery
  • 刪除所有其他腳本只是爲了確保它不是與此一衝突。

爲什麼沒有第二個鏈接的工作呢?

回答

1

的jsfiddle不正常處理引薦,所以你學會在這種情況下形式的jsfiddle不會轉移到你的網站。您的網站通常會處理引薦來源,而引薦來源(http://stackoverflow.com/questions/9695194/whats-wrong-with-this-js-code-implemented-in-this-context)根本不包含字符串hsbc

你需要做的是創建一個新的頁面(比如,new-page)在您的網站,有一個鏈接cotizador-de-seguros-auto,請訪問:new-page/?kw=hsbc並點擊新鏈接。那麼你的問題就會消失。

+0

不錯,但是如果你想直接訪問,比如直接粘貼到你的瀏覽器中,所以你粘貼我上面發佈的第二個鏈接,那將是直接引用者,在這種情況下它不起作用。 你在說什麼是正確的,我沒有注意到,但如果你直接訪問如何 – sebas 2012-03-14 03:17:53

+0

當你鍵入一個URL或粘貼到瀏覽器的URL,沒有引用。只有當您從一個頁面點擊到下一個頁面時,推薦人才適用。 – 2012-03-14 03:19:18

1

頁的指引是推出了鏈接的網頁;在這種情況下點擊jsfiddle上面的jsfiddle鏈接jsfiddle中的referrer將是http://stackoverflow.com/questions/9695194/whats-wrong-with-this-js-code-implemented-in-this-context

jsfiddle在框架內運行,因此您可以獲取子框架的引用者作爲父框架;這就是你的示例測試在jsfiddle中工作的原因。我想你會需要使用或top.document.referrer或parent.document.referrer得到計算器網址爲什麼你提到的的jsfiddle頁面(如果它不破JS跨站安全限制)

如果你想知道當前頁面的URL是什麼(就像在第二個鏈接中),你可以使用document.location.href來獲取http://segurosendirecto.com.ar/cotizador-de-seguros-auto/?kw=hsbc而不是document.referrer。然後你會在url結尾找到hsbc。我認爲document.location.href可能是你想要在你的實際網站上獲得hsbc參數。

+0

即時通訊使用它來從谷歌到該網頁的流量,所以我想生病繼續使用document.referer – sebas 2012-03-14 03:25:06

+0

這與幀有什麼關係?即使它被加載到框架中,引用者也是框架頁面的加載器... – Shea 2012-03-14 03:41:06

0

您的代碼沒有被正確執行。總結所有的代碼有:

$(function(){ 

}); 

那麼整個<script></script>塊移動到頭部。

更優選的方法是添加代碼,您在已有的文件準備的語句,在head標籤中。

$(document).ready(function() { 

查看here瞭解更多信息。