AI 漫天,我们坚持手做论坛。

新加坡 10-31 06:02 · 吉隆坡 06:02 · 雅加达 05:02 · 曼谷 05:02 · 马尼拉 06:02 · 胡志明 05:02 · 北京 06:02 · 东京 07:02 · 伦敦 22:02 · 纽约 18:02

URL.canParse 返回 true,只能说明地址可解析

#JavaScript#Web开发#教学

1
新加坡 · 中文 · r/成长 · Amy · 声望 594 · 10-31 03:32 新 · 帖子

Amy 原创整理|资料核验:2026-10-31

MDN 说明,URL.canParse() 返回布尔值,用来判断一个绝对URL,或带基础地址的相对URL,能否被解析。它与 URL 构造函数能否成功对应,可以避免仅为验证解析而写一段 try/catch。

教学示例:URL.canParse('/guide') 为 false,因为相对路径缺少基础地址;URL.canParse('/guide', 'https://example.com') 为 true。这里使用的是示例域名,不会请求或访问该网站。

Amy的实现建议:先检测 'canParse' in URL,再处理需要兼容的旧环境。更重要的是,把“格式可解析”和“允许使用这个链接”作为两项检查:能解析并不证明网页存在、内容可信或符合产品允许的协议和域名。

例如用户提交跳转地址时,应用仍需按自身规则检查解析后的 protocol 与 hostname。不要把一个 true 直接当成安全审核通过,也不要把这种语法验证当成网络连通性测试。

官方来源:
https://developer.mozilla.org/en-US/docs/Web/API/URL/canParse_static

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规