如何将data-url转为href以支持中键点击链接?
解决href="#"且实际链接存于data-url的链接中键新标签打开问题
方法一:使用Tampermonkey脚本
通过油猴脚本管理器添加自定义脚本,自动处理这类特殊链接:
// ==UserScript== // @name Fix Data-URL Links for Middle Click // @match *://your-target-domain.com/* // 替换成你需要处理的网站域名 // @grant none // @run-at document-idle // ==/UserScript== document.addEventListener('mouseup', function(e) { // 检测中键点击(button值为1) if (e.button !== 1) return; const link = e.target.closest('a[href="#"][data-url]'); if (link) { e.preventDefault(); // 打开data-url中的链接到新标签 window.open(link.dataset.url, '_blank'); } });
替换脚本里的your-target-domain.com为目标网站域名,脚本会在页面加载完成后监听中键点击,遇到符合条件的链接时,自动用新标签打开data-url里的地址。
方法二:临时修改页面元素(单次生效)
如果只是偶尔需要处理,按F12打开开发者工具,在控制台执行以下代码:
document.querySelectorAll('a[href="#"][data-url]').forEach(link => { link.href = link.dataset.url; link.target = '_blank'; // 可选:设置默认新标签打开 });
执行后,页面上所有符合条件的链接会将href替换为data-url的值,中键点击即可正常打开新标签。
内容的提问来源于stack exchange,提问作者rob
相关产品推荐
相关产品推荐

