2012-01-31 569 views
1

我決定重新提交此問題,因爲我可能不清楚自己的問題和我的總體目標。僅使用HTML將參數傳遞給< a > href標記中的鏈接

我目前正在使用僅使用HTML的網站。我在URL中傳遞了一個由JavaScript讀取的變量,然後我爲每個變量獲取參數並將其填充到Google JavaScript中。

JS讀取URL:

function gup(name) { 
var params = {}; 
var parts = (window.location.search || '').split(/[&?]/); 
for (var i = 0; i < parts.length; ++i) { 
var eq = parts[i].indexOf('='); 
if (eq < 0) continue; 
params[decodeURIComponent(parts[i].substring(0, eq))] 
= decodeURIComponent(parts[i].substring(eq+1)); 
} 
return Object.hasOwnProperty.call(params, name) 
? params[name] : null; 
} 

可變要寫入到第二JS:

var keyValue1 = gup('pid1'); 

被寫入到該對谷歌JS的部分:

GA_googleAddAttr("pid1", keyValue1); 

所有這些對我來說都非常有效。這些參數傳遞給Google廣告,但我仍然在頁面上有幾個鏈接沒有附加'?pid1 ='變量。我希望能夠做以下之一:

  1. 採取從變量「PID1」的參數,並將其傳遞到位於<一>標籤的鏈接。 (注:我有多個變量,example.com/index.html?pid1=abc & PID2 =高清& PID3 = GHI)

  2. 從URL地帶,先從?以及之後的所有內容,並將其附加到頁面上的一個鏈接或位於< a>標籤中的所有鏈接。

  3. 從URL開始,從?並只選擇一組變量並將其附加到位於頁面上的一個或多個鏈接或一個或多個鏈接上。

非常重要的一點,我的JS的知識僅限於提出問題,並採取我所得到的,並試圖從那裏弄明白,這是我希望能在這裏做。預先感謝您提供的任何幫助。

回答

0

林真的不知道,如果<a>標籤已經在頁面上,但如果它是:

var links = document.getElementsByTagName('a') 
for(var i = 0; i < links.length; i++) { 
    if(links[i].href === "http://foo.com/index.html?pid1=") { 
     links[i].href = links[i].href + gup('pid1'); 
    } 

} 
+0

請原諒我有限的JS的知識。我不確定如何實現「var鏈接」,或者更確切地說是從< a >標記中調用它。有一點想到,< a >的例子並不是一個固定的網址,整個網站使用,而是一個例子。也許最好是對'?'之後的所有內容進行解析。並添加到特定鏈接和/或所有< a >標籤。 – Jorge 2012-01-31 23:59:25

相關問題