javascript - 用于解析 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 中包含“#”还是我编写的脚本有问题?
提前谢谢了。
尼基
解决方案
您需要将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。
推荐阅读
- c# - 在主线程开始运行之前捕获新的进程事件
- terraform - Terraform - 用于不同属性编号的嵌套循环
- javascript - Promise 是浏览器的 API 还是 JavaScript 对象?
- kvm - 根据多少来宾请求自动释放/分配内存给 KVM 来宾,例如 VMware
- python - difference between instance variables and global variables declared in __init__ function
- python - importlib.import_module(m) 可以执行 `from m import *` 吗?
- c# - AddPolicy 和 Requireclaim 在 .net core 6.0 中没有按我预期的方式工作
- amazon-web-services - 以编程方式将所有 AWS 内联策略转换为当前 IAM 角色的托管策略
- sql - 如何使用 Firebase Firestore 制作 MCD、MLD 和类图?
- javascript - 如何在 Firebase DB 中获取和覆盖字符串 - React Native