通过链接、按钮、菜单等附加查询字符串

ruyhziif  于 2021-09-23  发布在  Java
关注(0)|答案(1)|浏览(264)

我在我的wordpress网站上使用这个javascript已经有一段时间了,它一直运行良好,直到一两天前,我没有改变任何会影响它的东西。它在我的测试站点上仍然可以正常工作,所以我无法理解它为什么停止工作。我正在寻找解决这个问题的办法。基本上,代理商会得到一个唯一的查询字符串,这样当他们的客户访问该站点时,他们将获得佣金。当访问者从一页转到另一页或单击quote按钮(转到外部门户)时,查询字符串将从一页转到另一页并传递到外部门户。site.com/?group=agent123-正在加载脚本。firefox错误为href未定义。chrome显示了关于indexof的错误,下面提到的行修复了错误,但没有使脚本正常工作。。。我不是一个脚本作者,所以我无法理解它。

var index = window.location.href.indexOf('?') 
    if(index != -1){
        var querystring = window.location.href.slice(index + 1)
        var tagA = document.getElementsByTagName('a');

    // this next line fixed the error hence allowing other 
    // broken scripts after this to work again but script does not work 
    // for appending the query strings...   
if (href !== undefined)

        for(var i = 0; i < tagA.length; i++){
            var href = tagA[i].getAttribute('href');

            href += (href.indexOf('?') != -1)? '&' : '?';
            href += querystring;

            tagA[i].setAttribute('href', href);

        }
    }
tvokkenx

tvokkenx1#

快走 if (href !== undefined) 在里面 for(var i = 0; i < tagA.length; i++){ 在声明变量之后。

for(var i = 0; i < tagA.length; i++){
        var href = tagA[i].getAttribute('href'); 
        if (href !== undefined) {
               href += (href.indexOf('?') != -1)? '&' : '?';
               href += querystring;

               tagA[i].setAttribute('href', href);
        }

    }
}

顺致敬意,

相关问题