示例我有一个youtube链接,显示搜索结果
https://www.youtube.com/results?search_query=himalayas
我正在使用firefox和它的开发工具
我试图运行这个js脚本,使左键点击页面上的任何链接,以打开一个新的选项卡
code1
var e = document.createElement("base");
e.target = "_blank";
document.head.appendChild(e);
Code2
var links = document.links;
for (var i = 0; i < links.length; i++) {
links[i].target = "_blank";
}
它们都添加了目标属性
但是在这个脚本之后,当左键点击
时,我也不能在新选项卡上打开链接知道我该怎么做吗
- 删除存在于a href标签上的
yt-simple-endpoint
类
var links = document.links;
for (var i = 0; i < links.length; i++) {
links[i].classList.remove('yt-simple-endpoint')
links[i].target = "_blank";
}
如果你删除类,它会影响样式,但你总是可以通过重新添加样式来解决这个问题。
或
- 删除附属于
<ytd-app>
的点击事件监听器
我认为在Firefox中删除事件侦听器并不容易。您可能会使用Firebug。Chrome有getEventListeners,所以你可以运行
const ytdApp = document.getElementsByTagName('ytd-app')[0]
ytdApp.removeEventListener('click', getEventListeners(ytdApp).click[0].listener)
var links = document.links;
for (var i = 0; i < links.length; i++) {
links[i].classList.remove('yt-simple-endpoint')
links[i].target = "_blank";
}