2015-05-27 70 views
0

默認配置中的Google跟蹤代碼管理器基於變量{{Page URL}}發送綜合瀏覽量。這個變量包含document.location.pathname。如果變量B未定義,則替換包含document.location.path的變量A

我正在處理的網站有一個全球js變量trackerParam修改了發送到不同分析引擎的頁面URL。在大多數情況下,它是不確定的。

我需要做的是爲Google跟蹤代碼管理器編寫一個自定義JavaScript變量,默認情況下會抓取document.location.pathname,但trackerParam未定義的情況除外。然後,它應該用trackerParam值替換變量。

我不能得到它的工作。 console.log部分僅用於調試。

function impPageUrl() 
{ 
    var = PageUrl; 
    if (trackerParam != undefined) 
    { 
     return trackerParam; 
     console.log(trackerParam); 
    } 
    else 
    { 
     return document.location.pathname; 
     console.log(document.location.pathname); 
    } 
} 

回答

1

試試這個:

(function impPageUrl(w,d) 
{ 
    var dlp = d.location.pathname; 

    if (typeof(w.PageUrl) != "undefined" && w.PageUrl != undefined) 
    { 
     console.log(w.PageUrl); 
     return w.PageUrl;   
    } 

    else 
    { 
     console.log(dlp); 
     return dlp;   
    } 
})(window,document) 
+0

這實際上使它工作,但事實證明,某些頁面不具有全局變量trackerParam。爲了不像跟蹤器參數= undefined一樣處理跟蹤器參數,你需要做什麼代碼修改? – Matt

+0

我重寫了一點,所以這應該符合您的需求 –