此外掛程式由 Adobe Consulting 提供,協助您從 Adobe Analytics 中獲得更多價值。Adobe 客戶服務不提供此外掛程式的支援,包括安裝或疑難排解在內。如果您需要與此外掛程式有關的協助,請聯絡貴組織的客戶經理。客戶經理可安排您與顧問會面以尋求協助。
getQueryParam
外掛程式讓您可擷取 URL 中所含任何查詢字串參數的值。如需從登陸頁面 URL 擷取內部和外部促銷活動程式碼,此外掛程式非常有用。擷取搜尋詞或其他查詢字串參數時,它也很有用。
此外掛程式提供完善的功能,可剖析複雜的 URL,包括雜湊和包含多個查詢字串參數的 URL。如果您的查詢字串參數需求很簡單,Adobe 建議使用 Launch 中的 URL 參數功能,或是 AppMeasurement 中包含的 Util.getQueryParam()
方法。
Adobe 提供一個擴充功能,可讓您使用最常用的外掛程式。
如果您不想使用外掛程式擴充功能,可以使用自訂程式碼編輯器。
/******************************************* BEGIN CODE TO DEPLOY *******************************************/
/* Adobe Consulting Plugin: getQueryParam v3.3 (Requires pt plug-in) */
s.getQueryParam=function(qsp,de,url){var g=this,e="",k=function(b,de){de=de.split("?").join("&");de=de.split("#").join("&");var d=de.indexOf("&"),url="";b&&(-1<d||de.indexOf("=")>d)&&(d=de.substring(d+1),url=g.pt(d,"&","gpval",b));return url};qsp=qsp.split(",");var l=qsp.length;g.gpval=function(de,b){if(de){var d=de.split("="),url=d[0];d=d[1]?d[1]:!0;if(b.toLowerCase() ==url.toLowerCase())return"boolean"===typeof d?d:this.unescape(d)}return""};de=de?de:"";url=(url?url:g.pageURL?g.pageURL: location.href)+"";if((4<de.length||-1<de.indexOf("="))&&url&&4>url.length){var b=de;de=url;url=b}for(var h=0;h<l;h++)b=k(qsp[h],url) ,"string"===typeof b?(b=-1<b.indexOf("#")?b.substring(0,b.indexOf("#")):b,e+=e?de+b:b):e=""===e?b:e+(de+b);return e};
/* Adobe Consulting Plugin: pt v2.01 */
s.pt=function(l,de,cf,fa){if(l&&this[cf]){l=l.split(de||",");de=l.length;for(var e,c=0;c<de;c++)if(e=this[cf](l[c],fa))return e}};
/******************************************** END CODE TO DEPLOY ********************************************/
getQueryParam
方法使用以下引數:
qsp
(必要):要在 URL 中尋找的查詢字串參數清單 (以逗號分隔)。不區分大小寫。de
(選用):有多個查詢字串參數相符時要使用的分隔字元。預設為空字串。url
(選用):自訂 URL、字串或變數,系統會從其中擷取查詢字串參數值。預設為 window.location
。若呼叫此方法,系統會根據上述引數和 URL 傳回值:
true
。de
引數中的字串分隔開。如果目前的 URL 為:
http://www.abc123.com/?cid=trackingcode1
下列程式碼會將 s.campaign 設為等於 "trackingcode1":
s.campaign=s.getQueryParam('cid');
如果目前的 URL 為:
http://www.abc123.com/?cid=trackingcode1&ecid=123456
下列程式碼會將 s.campaign 設為等於「trackingcode1:123456」:
s.campaign=s.getQueryParam('cid,ecid',':');
如果目前的 URL 為:
http://www.abc123.com/?cid=trackingcode1&ecid=123456
下列程式碼會將 s.campaign 設為等於 "trackingcode1123456":
s.campaign=s.getQueryParam('cid,ecid');
如果目前的 URL 為:
http://www.abc123.com/?cid=trackingcode1&ecid=123456#location
下列程式碼會將 s.campaign 設為等於「123456」:
s.campaign=s.getQueryParam('ecid');
如果目前的 URL 為:
http://www.abc123.com/#location&cid=trackingcode1&ecid=123456
下列程式碼會將 s.campaign 設為等於「123456」
s.campaign=s.getQueryParam('ecid');
注意:若不存在問號,該外掛程式會以問號取代 URL 以檢查雜湊字元。如果 URL 中雜湊字元前含有問號,外掛程式會以 & 符號取代 URL 以檢查雜湊字元;
如果目前的 URL 為…
http://www.abc123.com/
…且若變數 s.testURL 的設定如下:
s.testURL="http://www.abc123.com/?cid=trackingcode1&ecid=123456#location&pos=300";
下列程式碼完全不會設定 s.campaign:
s.campaign=s.getQueryParam('cid');
但是,下列程式碼會將 s.campaign 設為 "trackingcode1":
s.campaign=s.getQueryParam('cid','',s.testURL);
注意:第三個參數可為任何字串/變數,程式碼將用來嘗試在其中尋找查詢字串參數
下列程式碼會將 s.eVar2 設為等於「123456|trackingcode1|true|300」:
s.eVar2=s.getQueryParam('ecid,cid,location,pos','|',s.testURL);
300 值來自 s.testURL 變數中 pos 參數的值
findParameterValue
和 getParameterValue
函數移入 getQueryParam
函數findParameterValue
和 getParameterValue
。s.pt
搭配 AppMeasurement)。h
參數,讓程式碼可尋找在雜湊 (#
) 字元後發現的查詢字串參數