javascript - 如何更新我的 for 循环以输出我的参数 URL 键值对?
问题描述
我有一个代码块,它输出参数 URL 的查询字符串中找到的每个键值对。
我的问题是,我希望更新代码块,以便通过标准 utm 参数作为 analytics.track() 调用中的属性发送。附加要求是:
- 仅发送官方支持的 utm 参数作为属性
- 仅发送 URL 查询字符串中包含的 utm 参数(即不发送空 utm 参数)
- 将跟踪调用命名为:“用户引用”
var output = {};
var qs = document.location.search.substring(1);
qs = qs.split('&');
for (var i = 0; i < qs.length; i++) {
var tokens = qs[i].split('=');
output[tokens[0].toLowerCase()] = tokens[1];
}
return output;
}
解决方案
2019 年末不需要所有这些字符串解析。有内置插件可以做这些事情。
let output = (new URL(document.location)).searchParams;
for (const [key, value] of output) {
console.log(key, '=', value);
}
推荐阅读
- python - CountVectorizer 给出的计数不同于手动计数
- r - 执行一个方程,产生一个新列
- php - 在控制器中挂钩 laravel 观察者
- algorithm - 3 种类型的二叉树遍历(前序、中序、后序)在现实生活中是如何使用的?
- javascript - RXJS 将单个 observable 转换为 observable 数组
- django-forms - 如何自定义 Django TimeField()?
- mongodb - mongo 更新查询不适用于旧版本
- javascript - 如何使用带有钩子的 react-native-action-sheet
- sql - 有没有办法在不使用 CTE 的情况下进行递归 SQL 查询?
- asp.net-core-mvc - 同一控制器中具有不同参数的多个端点