【问题标题】:I want to append the query string on a URL to all anchor links on the page我想将 URL 上的查询字符串附加到页面上的所有锚链接
【发布时间】:2023-03-26 00:28:01
【问题描述】:

我正在尝试将 URL 上的查询字符串附加到页面上的所有锚链接。如果页面 URL 是 www.example.com/page?paramter1=variable&parameter2=variable2

变量可能每次都发生变化,并且用于分析。

我希望页面上的所有其他链接在页面加载时自动添加?paramter1=variable&parameter2=variable2

我一直在使用以下脚本,但我似乎无法让变量 'myquerystringtoadd' 由 URL 中的查询字符串填充,我不一定知道参数是什么就是这样,它是整个查询字符串。

var querystring = 'myquerystringtoadd';

$('a').each(function()
{
 var href = $(this).attr('href');
 href += (href.match(/\?/) ? '&' : '?') + querystring;
 $(this).attr('href', href);
});

任何帮助将不胜感激!

【问题讨论】:

标签: javascript jquery query-string


【解决方案1】:

如何在原版 javascript 中使用 querySelectorAll 而不是 jquery。另外,杀死你的领导'?在querystring。如果您的部分问题涉及如何从当前页面的 url 获取查询字符串,请使用 window.location.search

在下面的 sn-p 中,您有一些 google 搜索锚点。一个搜索“x”,另一个搜索“y”。您的查询字符串进一步指定在两个锚点中,您都希望安全地搜索图像。

// You will use window.location.search
let querystring = '?tbm=isch&safe=active' 

if(querystring.startsWith('?'))
    querystring = querystring.replace('?', '');

for(let a of document.querySelectorAll('a')) {
    a.href += 
        (a.href.match(/\?/) ? '&' : '?') + 
        querystring;
}
<a href='https://www.google.com/search?q=x'>search x images safely</a><br/>
<a href='https://www.google.com/search?q=y'>search y images safely</a>

注意:您可能已经注意到我经常编辑这个问题,但这只是为了使用 google 查询字符串。

【讨论】:

  • 感谢您的回答。我可能写的问题有点不正确。我正在尝试使用每次可能不同的查询字符串填充页面上的所有链接。它更多地用于跟踪人们可能在到达着陆页的链接上使用的变量。
  • 当您说“无论查询字符串是什么,每次都可能不同”时,您不是在谈论window.location.search 的结果吗?如果是这样,看看上面的评论let querystring =
  • 我试图使用类似 getParams(window.location.href);提取查询字符串并用它填充页面其余部分中的每个锚链接。
  • @GregStaunton。那不是我问的。在我上面的代码中,您能否将 querystring 的值替换为 window.location.search 并告诉我它是否适合您?
  • 它有效,你是蚂蚁中的神!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
相关资源
最近更新 更多