javascript - 如何仅使用 javascript 获取 URL 的一部分
问题描述
这是关于从 firebase 发送到电子邮件的密码重置链接。我想从中获取 oobCode。但是当我获得页面的 url 时,它给了我本地地址,而不是我在电子邮件中点击的实际链接。请帮助
https://example.com/usermgmt?mode=resetPassword&oobCode=ABC123&apiKey=AIzaSy...&lang=fr
此链接实际上在我的网站中加载了 reset_pwd.html。因此,当我尝试获取 window.location.href 时,它并没有给我地址栏中显示的实际地址。
这是我到目前为止所尝试的。但我意识到我正在尝试拆分网页的本地地址http://127.0.0.1:80/reset_username
function func() {
var s = window.location.href;
ResponseURL = window.location.href;
var domain = ResponseURL.split('=');
alert(s);;
}
解决方案
您可以使用以下方法获取它URL.searchParams.get()
:
function getUrlParam(key, urlString = window.location.href) {
let url2 = new URL(urlString);
return url2.searchParams.get(key);
}
const url = `https://example.com/usermgmt?mode=resetPassword&oobCode=ABC123&apiKey=AIzaSy&lang=fr`;
console.log(getUrlParam('oobCode', url));
// Can be used without providing the URL, like:
// getUrlParam('oobCode');
推荐阅读
- node.js - 使用 node.js 下载 HTML 内容
- angular - 在全局进入离子视图之前验证信息
- javascript - 我们可以在 Angular 中自定义 html 内容编辑器吗?
- javascript - 从下拉列表中选择“智能”
- vba - 运行时错误 5:VBA 中的过程调用无效
- docker - 从公司代理后面运行时,“docker-machine create”给出连接尝试失败错误
- android - 在库中使用 Kotlin
- django - Coreapi 字段在招摇中显示错误的名称(数据)
- jmeter - 控制 Jmeter 中的特定代码块以停止和启动新线程?
- java - 捕获异常,重新抛出断言