我们运行一个WP站点,目前我们的页脚中有一个脚本,它传递一个UTM参数。
var querystring = '?utm_source=[utm_source]&utm_medium=[utm_medium]&utm_campaign=[utm_campaign]&cb=[cb]';
var UTm = '[utm_source]';
if(UTm != null && UTm !=''){
jQuery('a:not(".page-submenu li a")').each(function() {
var href = jQuery(this).attr('href');
if (href) {
href += (href.match(/\?/) ? '&' : '') + querystring;
jQuery(this).attr('href', href);
}
});
}
不幸的是,这会破坏我们博客的分页,使得页面之间的网址来自 homesite.com/blog/page/3
到
霍姆斯特/博客/`utm_source = Facebook和安培; utm_medium =社会&安培; utm_campaign =博文+%5D%5D&安培; CB#038; utm_medium =社会&安培; utm_campaign =博文+%5D%5D&安培; cbpage / 33 /
这会抛出语法错误,无法识别的表达式:
此时我对如何处理此问题的建议非常开放。
答案 0 :(得分:1)
如果您的分页是从href
生成location.href
并且只是将page/3
添加到结尾,那么这将解释homesite/blog/?[querystring]page/3
以下代码会删除每个锚点?
中href
之后的所有内容,然后重新添加page/[num]/
和querystring
:
$('a:not(".page-submenu li a")').each(function() {
var href = $(this).attr('href');
if (href) {
var base = href.split('?')[0];
base += href.match(/page\/\d/g)[0];
$(this).attr('href', base + querystring);
}
});