Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改基于目的地将URL参数附加到链接的方式_Javascript_Jquery_Google Analytics - Fatal编程技术网

Javascript 更改基于目的地将URL参数附加到链接的方式

Javascript 更改基于目的地将URL参数附加到链接的方式,javascript,jquery,google-analytics,Javascript,Jquery,Google Analytics,我的公司正在提供取消绑定的PPC登录页(在子域上),然后链接回我们的网站。我们使用以下代码将AdWords gclid变量附加到传出链接: $(document).ready(function() {var params = window.location.search.replace(/\+/g,'%20'); var button = $('a').each( function(i) {this.href = this.href + params;});}); 当Gclid被附加到已经有

我的公司正在提供取消绑定的PPC登录页(在子域上),然后链接回我们的网站。我们使用以下代码将AdWords gclid变量附加到传出链接:

 $(document).ready(function() {var params = window.location.search.replace(/\+/g,'%20'); var button = $('a').each( function(i) {this.href = this.href + params;});});
当Gclid被附加到已经有参数的URL(比如我们的签出表单)时,问题就出现了。最终得到的URL如下所示:

domain.com/checkout?EventID=15546?Gclid=jdkI324kd 
我想知道是否有一种方法可以将Glid的“”更改为“&”,用于已经有参数的特定URL,同时保留其他URL使用“?”的现有功能

谢谢

编辑:似乎有一些重定向正在进行,这是href如何查找相关链接的:

只需自己更换即可:

$(document).ready(function() {
    var params = window.location.search.replace(/\+/g,'%20'); 
    var button = $('a').each( function(i) {
        if (this.href.indexOf('?') == -1) {
            this.href = this.href + params;
        } else if (params.length) {
            this.href = this.href + '&' + params.substr(1);
        }
    });
});

编辑:您是否知道您正在用一个“%20”替换后续空格?

只需自己替换即可:

$(document).ready(function() {
    var params = window.location.search.replace(/\+/g,'%20'); 
    var button = $('a').each( function(i) {
        if (this.href.indexOf('?') == -1) {
            this.href = this.href + params;
        } else if (params.length) {
            this.href = this.href + '&' + params.substr(1);
        }
    });
});

编辑:您知道您正在用一个“%20”替换后续空格吗?

Hm,我尝试使用上面的修复程序,但GClid根本没有通过,因此目标URL只包含购物车参数。我有一个输入错误(
”&“.params.substr(1)
应该是
”&+params.substr(1)
),对于其他人来说,它应该起作用:是的,就是这样。可以确认上面的代码片段像一个符咒!这是PHP(字符串连接用点完成)和JavaScript(字符串连接用加号完成)中编程的问题。这不是我第一次犯这样的错误;)嘿,彼得,我想继续说,空间有什么问题吗?这是我从Unbound获得的代码,因此我不确定问题出在哪里(如果有)。嗯,我尝试使用上面的修复程序,但GClid根本没有通过,因此目标URL只包含cart参数。我有一个输入错误(
”&“.params.substr(1)
应该是
”&+params.substr(1)
),对于其他人来说,它应该起作用:是的,就是这样。可以确认上面的代码片段像一个符咒!这是PHP(字符串连接用点完成)和JavaScript(字符串连接用加号完成)中编程的问题。这不是我第一次犯这样的错误;)嘿,彼得,我想继续说,空间有什么问题吗?这是我从unbound得到的代码,所以我不确定问题是什么(如果有)。