Javascript 使用ref和p1、p2、p3向url添加参数
这段代码几个月前在url中添加并发送p1、p2、p3参数。 但现在它不起作用了,我也不知道为什么。 刚刚着陆,代码在这里Javascript 使用ref和p1、p2、p3向url添加参数,javascript,ajax,url,Javascript,Ajax,Url,这段代码几个月前在url中添加并发送p1、p2、p3参数。 但现在它不起作用了,我也不知道为什么。 刚刚着陆,代码在这里 function getLandingName() { return (window.location.pathname.replace(/^\/l\//, "").replace(/\/$/, "")); } function getQueryString() { return (wi
function getLandingName() {
return (window.location.pathname.replace(/^\/l\//, "").replace(/\/$/, ""));
}
function getQueryString() {
return (window.location.href.split("?")[1] || "")
}
function getFullRefParams() {
var q = getQueryString();
if (q.indexOf("ref") === -1) {
var ln = getLandingName();
return q + (q.length > 0 ? "&" : "") + "ref=landing-" + ln;
} else {
return q;
}
}
function cookie(name, value, ttl, path, domain, secure) {
if (arguments.length > 1) {
return document.cookie = name + '=' + encodeURIComponent(value) +
(ttl ? '; expires=' + new Date(+new Date() + (ttl * 1000)).toUTCString() : '') +
(path ? '; path=' + path : '') +
(domain ? '; domain=' + domain : '') +
(secure ? '; secure' : '');
}
return decodeURIComponent((('; ' + document.cookie).split('; ' + name + '=')[1] || '').split(';')[0]);
}
document.addEventListener('DOMContentLoaded', function () {
var qs = getFullRefParams();
for (var i = 0, len = document.links.length; i < len; i++) {
document.links[i].href = document.links[i].href.split("?")[0] + "?" + qs;
}
});
new Fingerprint2().get(function(result, components) {
var currentReferer = cookie('wlref');
var browserReferer = document.referrer;
var urlReferer = window.location.search.match(/ref=([a-z0-9-_]+)/i);
let ref = 'direct';
if (currentReferer) {
ref = currentReferer;
} else if (urlReferer) {
ref = 'ref:' + urlReferer[1];
} else if (browserReferer && browserReferer !== window.location.origin) {
ref = browserReferer;
}
cookie('wlref', ref, undefined, '/');
cookie('wlf', result, undefined, '/');
var ajax = new XMLHttpRequest();
ajax.open("POST", "%ENDPOINT_HIT%", true);
ajax.setRequestHeader("Content-type", "application/octet-stream");
ajax.withCredentials = true;
ajax.send("hit");
ajax.onreadystatechange = function() {
console.debug(ajax.status);
}
});
函数getLandingName(){
返回(window.location.pathname.replace(/^\/l\/,“”)。replace(/\/$,“”);
}
函数getQueryString(){
返回(window.location.href.split(“?”[1]| |“”)
}
函数getFullRefParams(){
var q=getQueryString();
如果(q.indexOf(“ref”)=-1){
var ln=getLandingName();
返回q+(q.length>0?&“:”)+“ref=landing-”+ln;
}否则{
返回q;
}
}
函数cookie(名称、值、ttl、路径、域、安全){
如果(arguments.length>1){
return document.cookie=name+'='+encodeURIComponent(值)+
(ttl?';expires='+新日期(+new Date()+(ttl*1000))。ToutString():“”)+
(路径?';路径='+路径:“”)+
(域?';域='+域:“”)+
(安全?;安全:“”);
}
返回decodeURIComponent((“;”+document.cookie).split(“;”+name+'=')[1]| |'').split(“;”)[0]);
}
document.addEventListener('DOMContentLoaded',函数(){
var qs=getFullRefParams();
for(var i=0,len=document.links.length;i请帮助我)您能解释一下“添加p1”是什么意思吗。。参数'。调用此代码的调用url中的这些参数是否只需要在新url中直接传递?另外,到目前为止,您采取了哪些调试步骤以及结果是什么——例如,向每个函数添加console.log语句以检查它们所做的事情是否符合您的预期。