You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

URL对象pathname异常求助:特定链接返回多余内容

问题分析与解决
  • 大概率是BetterDiscord运行环境对原生URL对象做了猴子补丁(Monkey Patch),补丁的字符串处理逻辑存在bug,仅在这个特定URL触发了错误,导致protocol(https)、hostname(www)被错误拼接到pathname末尾。
  • 先验证原生URL行为:在纯净浏览器控制台或Node环境执行以下代码,确认输出正常:
    const post = new URL("https://www.reddit.com/r/BetterDiscord/comments/vz6xq7/i_forgot_the_name_of_this_plugin");
    console.log(post.pathname); // 预期输出:/r/BetterDiscord/comments/vz6xq7/i_forgot_the_name_of_this_plugin
    
    若此处正常,说明问题完全来自BetterDiscord的环境篡改。
  • 有效临时修复方案:
    1. 手动提取路径,绕过被篡改的URL对象:
      const urlStr = "https://www.reddit.com/r/BetterDiscord/comments/vz6xq7/i_forgot_the_name_of_this_plugin";
      const pathname = urlStr.replace(/^https?:\/\/[^/]+/, '');
      Logger.info(pathname);
      
    2. 调用原生URL构造函数(若环境未完全覆盖):
      // 保存原生URL引用,避免被补丁影响
      const NativeURL = window.URL;
      const post = new NativeURL("https://www.reddit.com/r/BetterDiscord/comments/vz6xq7/i_forgot_the_name_of_this_plugin");
      Logger.info(post.pathname);
      
  • 根本原因排查:检查已加载的BetterDiscord插件,寻找修改URL.prototype.pathname或全局替换URL对象的代码,这类补丁的边界处理逻辑大概率存在漏洞,刚好被这个URL触发。

内容的提问来源于stack exchange,提问作者wotanut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:20:20