You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用JavaScript批量打开标签页?控制台批量打开网页超链接方法

当然可以搞定!我经常用浏览器控制台来做这种批量操作,给你分享几个实用的方案:

方案1:基础版 - 打开所有超链接

直接打开浏览器控制台(按F12Ctrl+Shift+I唤起,切换到Console标签),输入以下代码并回车:

// 抓取页面上所有<a>标签元素
const links = document.querySelectorAll('a');
// 逐个在新标签页打开有效链接
links.forEach(link => {
  // 跳过无href属性或无效的链接(比如锚点、javascript伪链接)
  if (link.href && !link.href.startsWith('#') && !link.href.startsWith('javascript:')) {
    window.open(link.href, '_blank');
  }
});

小提示:第一次执行时浏览器大概率会拦截批量弹窗,记得点击地址栏旁的弹窗提示,允许当前网站的弹窗权限哦。

方案2:进阶版 - 过滤特定链接

如果你不想打开所有链接,只想筛选符合条件的(比如同域名链接、包含特定关键词的链接),可以用下面的代码:

// 示例1:仅打开当前域名下的站内链接
const currentDomain = window.location.hostname;
const links = document.querySelectorAll('a');

links.forEach(link => {
  if (link.href && link.hostname === currentDomain) {
    window.open(link.href, '_blank');
  }
});

// ------------------------------
// 示例2:仅打开href包含"article"关键词的链接
// const links = document.querySelectorAll('a');
// links.forEach(link => {
//   if (link.href && link.href.includes('article')) {
//     window.open(link.href, '_blank');
//   }
// });

你可以根据需求修改判断条件,比如用link.href.startsWith('https://your-site.com')指定特定域名,或者用正则表达式匹配更复杂的规则。

方案3:优化版 - 去重后打开链接

如果页面存在重复的超链接(比如多个元素指向同一个URL),可以先去重再打开,避免重复标签页:

const links = document.querySelectorAll('a');
const uniqueUrls = new Set();

// 先收集所有唯一的有效链接
links.forEach(link => {
  if (link.href && !link.href.startsWith('#') && !link.href.startsWith('javascript:')) {
    uniqueUrls.add(link.href);
  }
});

// 打开去重后的链接
uniqueUrls.forEach(url => {
  window.open(url, '_blank');
});

额外注意事项

  • 部分网站的链接可能通过onclick事件跳转(而非直接写在href里),这种情况上面的代码可能无法捕获,需要针对性调整逻辑(比如触发点击事件)。
  • 尽量在自己信任的网站上使用这段代码,避免恶意页面的潜在风险。

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

火山引擎 最新活动