浏览器有没有办法强制“在当前标签页打开”?

2021-10-24 16:35:58 +08:00
 zhangwt1997hh

如题,就像 ctrl+左键能“在新标签页打开”、shift+左键能“在新窗口打开”,请问有没有“在当前标签页打开”的快捷键 /插件 /脚本?

因为个人习惯问题,有些时候更希望不要打开新标签页。不知大家有没有好的建议,先谢谢各位了!


PS 我明白谷歌搜索可以进行相关设置,我希望能在任意网站也实现类似效果

PSS 发帖前自己也搜索了一下,好像和 HTML 的_top_blank等有关?(本人不懂有关知识,请指正)

PSSS 找到一些插件能处理部分链接,但还是不能涵盖所有情况,例如 B 站的搜索按钮

1851 次点击
所在节点    问与答
8 条回复
Flash1
2021-10-24 16:56:23 +08:00
鼠标中键
tux
2021-10-24 17:21:51 +08:00
拖拽链接直接到当前标签上松开,就会在当前页打开
autoxbc
2021-10-24 17:30:46 +08:00
扩展无法涵盖的原因是那些新标签不是用 A 元素的 target 属性触发,而是用 window.open() 触发的。而劫持 window.open() 会造成广泛的副作用,对于不能自行调试的用户,会有不可预计的麻烦

简单的说,open() 的第一个参数就是新窗口的 url ,劫持这个函数触发 location = url 就能得到需要的效果
coolan
2021-10-24 18:56:20 +08:00
就是楼上说的那个方式,使用 tampermonkey:
@include 那里是匹配的网址,*就是所有的网址。具体的可以用 https://*.bilibili.com/*之类的方式,可以查 tampermonkey 文档看下具体规则。
```
// ==UserScript==
// @name open link in same tab
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @include *
// @icon https://www.google.com/s2/favicons?domain=bilibili.com
// @grant unsafeWindow
// ==/UserScript==

(function() {
'use strict';
unsafeWindow.window.open = function (args) {
window.location.href=args;
}

})();
```
coolan
2021-10-24 18:58:26 +08:00
``` 没有被当作 markdown 语法识别出来。。。,请注意下,这两对```字符中间才是脚本代码。
coolan
2021-10-24 19:01:45 +08:00
这个脚本单独处理了 B 站搜索按钮那种 window.open 的情况,还得配合你那个插件才行。
zhangwt1997hh
2021-10-24 20:48:50 +08:00
感谢楼上朋友们的答复 @coolan 脚本试了能用~
jnmsn8806
2021-10-25 09:28:27 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/810164

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX