javascript - URL位置有人可以解释吗?
问题描述
我刚刚开始学习位置 API,例如 javascript 中的重定向 URL,我无法理解以下三行,有人可以解释一下吗?
let windowUrl = new URLSearchParams(window.location.search);
const queryString = window.location.href;
const firstParam = queryString.substring(queryString.lastIndexOf("?") + 1).split("=")[0];
解决方案
第一行没用。如您所见,windowUrl 永远不会被使用。
以下两行:
window.location.href 只不过是您在浏览器地址栏中看到的 URL。说,https://www.youtube.com/watch?v=123456
所以queryString = "https://www.youtube.com/watch?v=123456"
第二行的作用是获取“?”之后的所有内容。在那个字符串中。所以v=123456
然后,它v=123456
以“=”作为分隔符。所以,最后你得到123456
.
现在,以上所有内容都非常野蛮,因为您可以通过这种方式获取“v”参数的值:
let url = new URL(window.location.href);
let v = url.searchParams.get("v");
URL 是一个接口,我们可以说“分析”一个 URL 并为您提供方便地解析它的方法,例如 searchParams 方法等等。
推荐阅读
- c# - 从 fileBytes 创建 QuickXorHash,然后与 Sharepoint 哈希进行比较
- node.js - 使用 webpack 时出现意外的令牌“导出”
- c# - 在我的 .NET 核心控制台应用程序中运行原始 SQL 语句并将结果映射到 C# 变量
- javascript - 在我们能够获得视频的视频封面之前必须先缓冲视频吗?
- tinymce - 字体大小工具栏下拉菜单中的 TinyMCE 差异
- amazon-web-services - 使用 boto3 使用新 IAM 用户访问 S3 存储桶
- ruby-on-rails - 由于 mimemagic,Capistrano 部署失败
- php - 语法错误或访问冲突:1118 行大小太大
- flutter - 为什么使用路由时 ChangeNotifierProvider 会从 Widget Tree 中消失?
- git - 合并冲突解决后的 Git 合并问题