You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改JS脚本,点击按钮时根据URL参数情况正确拼接查询参数?

问题与解决方案

原脚本缺陷

原脚本用于给包含abc的链接动态追加client_id查询参数,但存在格式问题:当原链接已有查询参数(比如Google Ads带来的gclid)时,会错误地用?拼接新参数,生成example.com/abc?gclid=786?client_id=123这类非法URL,正确格式应为example.com/abc?gclid=786&client_id=123。

修改后的脚本

<script>
(function () {
  var links = document.querySelectorAll('a[href*=abc]');
  // 动态读取Cookie中的client_id值(此部分已实现,保留占位)
  var clientIdValue = '{{Read Cookie Value}}';

  links.forEach(function(link) {
    var originalHref = link.getAttribute('href');
    // 根据原链接是否已有查询参数,选择分隔符
    var separator = originalHref.includes('?') ? '&' : '?';
    // 拼接参数并更新链接
    link.setAttribute('href', originalHref + separator + 'client_id=' + clientIdValue);
  });
})();
</script>

关键逻辑说明

  • 通过originalHref.includes('?')判断原链接是否已包含查询参数分隔符?
  • 若原链接已有查询参数,用&作为新参数的分隔符;若没有,用?
  • 最后将client_id参数与对应值拼接在原链接后,保证URL格式合规

内容的提问来源于stack exchange,提问作者Arif Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:30:55