我有客户到达我的目标网页,我想将诸如aff_id=X
之类的网址参数附加到所有传出流量中。
当前,我有这样的东西:
$('a').each(function(i, node) {
if (node.href != '#') {
$(node).addClass('outgoing');
}
});
$('.outgoing').attr('href', function(i, h) {
if (h) {
var arg_str = 's4=' + aff_id + '&s5=' + uuid;
return h + (h.indexOf('?') != -1 ? "&" + arg_str : "?" + arg_str);
}
});
此问题是,它不适用于所有外发请求,例如表单提交。
答案 0 :(得分:0)
假设您使用的是jQuery:
var uuid = '',
aff_id = '';
$('a, form').each(function() {
var self = $(this);
var qstr = 's4=' + aff_id + '&s5=' + uuid;
if ('a' === self.get(0).tagName.toLowerCase()) {
var href = self.attr('href') || '';
if (!href.match(/^#/)) {
self.attr('href', href + (href.indexOf('?') > -1 ? '?' : '&') + qstr);
}
} else {
var action = self.attr('action') || '';
if (!action.match(/^#/)) {
self.attr('action', action + (action.indexOf('?') > -1 ? '?' : '&') + qstr);
}
}
});
可以用作简单的快速修复程序。