wwwwwllllk 发表于 2022-6-23 12:30:40

github的链接在新标签页打开

   // 网上百度一直就说href改为_blank就可以了,但是目录页面移入是会在当前页打开。网上找的几个脚步都没有解决这个问题。于是又换了一种思路
    // 我把默认href禁用,给a标签加一个点击事件。在js中使用window.open的方式打开
    // 关于不跳转我猜测是用了hash路由或者单页面应用。希望有懂的可以帮忙解答下困惑
```javascript
// ==UserScript==
// @name         github的链接在新标签页打开
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description让github的链接默认是在新标签页中打开而不是当前页打开
// @author       xiaolaji
// @match      https://github.com/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant      none
// ==/UserScript==

(function() {
    'use strict';

    // 网上百度一直就说href改为_blank就可以了,但是目录页面移入是会在当前页打开。网上找的几个脚步都没有解决这个问题。于是又换了一种思路
    // 我把默认href禁用,给a标签加一个点击事件。在js中使用window.open的方式打开
    // 关于不跳转我猜测是用了hash路由或者单页面应用。希望有懂的可以帮忙解答下困惑
    setTimeout(() => {
      let links = document.getElementsByTagName('a')
      for(let i=0;i< links.length;i++){
            // 拿到每一个url
            let url = links.href;
            links.href = "javascript:void(0);";
            links.onclick = function(){
               window.open(url)
            }
      }
    },2000)

})();
```

Su. 发表于 2022-6-23 14:35:36

本帖最后由 Su. 于 2022-6-23 14:38 编辑

有没有可能,是浏览器不让弹出窗口和重定向?我之前嫌每天都要固定打开几个网页麻烦,写了几个window.open放到收藏夹里,结果他显示拦截掉了。你把这个设置成允许试试看?
!(data/attachment/forum/202206/23/143802hfybh5s7b6ufufuy.png)

Su. 发表于 2022-6-23 14:59:23

本帖最后由 Su. 于 2022-6-23 15:06 编辑

> 本帖最后由 Su. 于 2022-6-23 15:04 编辑

如果还不行,也可以换个思路,比如:鼠标中键点击或者ctrl加单击都会在新标签页打开,只不过还是聚焦在当前标签页,可以劫持点击事件换成ctrl加点击什么的

wwwwwllllk 发表于 2022-6-23 15:12:27

Su. 发表于 2022-6-23 14:59
> 本帖最后由 Su. 于 2022-6-23 15:04 编辑

如果还不行,也可以换个思路,比如:鼠标中键点击或者ctr ...

我上面的脚步已经实现了,我只对github有这个需求。因为需要频繁的来回查看。只是好奇改成_blank有的页面依旧无法实现。有的页面是实现了的

Su. 发表于 2022-6-23 15:22:50

wwwwwllllk 发表于 2022-6-23 15:12
我上面的脚步已经实现了,我只对github有这个需求。因为需要频繁的来回查看。只是好奇改成_blank有的页面 ...

安装了这个脚本之后,目录里的链接href并没有被改变

Su. 发表于 2022-6-23 15:28:46

Su. 发表于 2022-6-23 15:22
安装了这个脚本之后,目录里的链接href并没有被改变

似乎是因为目录下的链接并不是一开始就加载出来的,如果我是在打开目录的前提下刷新,那么其中的href就能够被替换

wwwwwllllk 发表于 2022-6-23 18:53:44

Su. 发表于 2022-6-23 15:28
似乎是因为目录下的链接并不是一开始就加载出来的,如果我是在打开目录的前提下刷新,那么其中的href就能 ...

我用没有问题呀

Su. 发表于 2022-6-23 19:02:35

wwwwwllllk 发表于 2022-6-23 18:53
我用没有问题呀
哥哥进这个网址https://github.com/Alvin9999/new-pac/wiki
两秒后在右侧目录里面点goflyway左边的三角,点击下面弹出的链接都会在本页面加载

wwwwwllllk 发表于 2022-6-23 19:07:48

Su. 发表于 2022-6-23 19:02
哥哥进这个网址https://github.com/Alvin9999/new-pac/wiki
两秒后在右侧目录里面点goflyway左边的三角, ...

那是因为它是通过div跳转的,我只是对a标签进行了修改。

Su. 发表于 2022-6-23 19:15:31

wwwwwllllk 发表于 2022-6-23 19:07
那是因为它是通过div跳转的,我只是对a标签进行了修改。

嗷嗷嗷~
页: [1] 2
查看完整版本: github的链接在新标签页打开