首页 > 解决方案 > 用于解析 URL 参数的 Javascript - 并不总是有效

问题描述

我对 JavaScript 很陌生,所以请原谅这个问题的简单性。我正在尝试使用 Google 跟踪代码管理器解析 URL 参数,并创建了以下自定义 JavaScript:

function(){
var queryString = {{Page URL}};
var urlParams = new URLSearchParams(queryString);
var deposit = urlParams.get('deposit')
return deposit;
}

在我的测试环境中,当我简化 URL 时,脚本多次返回正确的值。在真实环境中,URL 包含一个 # 并且我尝试解析的参数是第一个参数,因此跟在“?”后面。- 我的成功尝试都是在我插入其他参数时,所以我想要的参数移动到后面的“&”

可能是导致问题的 URL 中包含“#”还是我编写的脚本有问题?

提前谢谢了。

尼基

标签: javascriptparsinggoogle-tag-manager

解决方案


您需要将window.location.search而不是完整的 URL 传递给 URLSearchParams 构造函数。它需要一个格式为"?test=56&example=apples"(not "http://example.org?test=56&example=apples#someAnchor") 的字符串。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams


推荐阅读