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

如何让YouTube页面所有链接左键点击时在新标签页打开

核心原因

YouTube 是单页应用(SPA),站内所有链接的默认跳转行为都被平台自身绑定的click事件处理器拦截了,点击后会走前端路由局部更新页面的逻辑,不会触发浏览器原生的<a>标签跳转规则,因此就算给链接添加target="_blank"属性也不会生效。


可行解决方案

直接在全局劫持点击事件,识别到点击链接时主动触发新标签页打开逻辑,同时拦截 YouTube 自身的跳转事件,代码如下:

// 使用捕获阶段监听全局点击,优先级高于YouTube自身绑定的事件
document.addEventListener('click', function(e) {
  // 匹配点击位置最近的a标签(支持点击链接内的子元素场景)
  const targetLink = e.target.closest('a');
  if (targetLink && targetLink.href) {
    // 阻止YouTube默认的前端路由跳转
    e.preventDefault();
    e.stopPropagation();
    // 主动在新标签页打开链接
    window.open(targetLink.href, '_blank');
  }
}, true);

该方案天然支持后续滚动加载的新链接,不需要额外监听DOM变动重新给新链接加属性。


原有代码失效说明

  • 插入<base>标签的方案仅对走浏览器原生跳转规则的链接生效,被JS拦截的跳转不受<base>标签约束
  • 遍历已有链接加target的方案仅能处理当前页面已渲染的链接,后续异步加载的内容里的链接不会被处理,同时同样受跳转事件被拦截的影响无法生效

注意事项

如果运行脚本后点击链接没有反应,检查火狐浏览器的弹出窗口拦截设置,给 YouTube 域名开放弹出窗口权限即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:54:00