所以我有一个问题,我试图理清,而且我只在一年之内做了开发工作,所以对我来说事情还是很新的。我的目标是创建一个脚本,它能够在url中找到utm值(如果存在),然后将它们存储到变量中(如果存在)。我已经得到了一个脚本的工作,但如果该URL在一个非常特殊的方式构建它才能正常运行,高级网址查询
本地主机/?utm_source =谷歌& utm_medium =中共中央& utm_campaign =(投资回报率)+ CDN +一般&的utm_content = CDN +(短语+%26 +宽峰)& utm_term = CDN &的gclid = CNaV2vnZl7wCFY57QgodbgwA7A
这可能是多种在实际生产中,例如URL的 - ?
本地主机/ utm_source =谷歌& utm_medium = CPC & utm_campaign =(ROI)+ CDN +一般 本地主机/ utm_source =谷歌& utm_medium = CPC & utm_campaign =(ROI)+ CDN +一般&的utm_content = CDN + (短语+%26 +宽)& utm_term = cdn
这是我放到一起的代码。如果你对如何让它在任何情况下都能更好地工作有什么建议,或者任何你会推荐给“高级新手”的资源,我都会非常感激!
var urlSearch = window.location.search;
if (urlSearch.length > 1) {
if (urlSearch.match('utm_source=(.*)&utm_medium')) {
var utmSource = urlSearch.match('utm_source=(.*)&utm_medium')[1];
}
if (urlSearch.match('utm_medium=(.*)&utm_campaign')) {
var utmMedium = urlSearch.match('utm_medium=(.*)&utm_campaign')[1];
}
if (urlSearch.match('utm_campaign=(.*)&utm_content')) {
var utmCampaign = urlSearch.match('utm_campaign=(.*)&utm_content')[1];
}
if (urlSearch.match('utm_content=(.*)&utm_term')) {
var utmContent = urlSearch.match('utm_content=(.*)&utm_term')[1];
}
if (urlSearch.match('utm_term=(.*)&')) {
var utmTerm = urlSearch.match('utm_term=(.*)&')[1];
}
}
看看我写的这篇文章。它会将查询字符串中的所有变量完全解析为一个JavaScript对象。 Stack Overflow上还有其他代码示例。 http://www.htmlgoodies.com/beyond/javascript/article.php/11877_3755006_2/How-to-Use-a-JavaScript-Query-String-Parser.htm –