没忍住给论坛写了个首页预览帖子的油猴脚本

amdyyds (UID: 2291) 1月前

1374 15

本论坛没有无刷新加载,打开一个帖子后,如果要返回那肯定只能点后退,但是有时候会发现这样跳来跳去的会很慢,导致我每次都要在新标签页打开帖子,不看了直接关闭。

然后就写了一个简单的油猴插件,当鼠标指到帖子标题时,自动获取帖子内容,包括评论。当鼠标移出内容框或一条帖子整个区域就会自动关闭。

演示:

 

 

 

 

当鼠标没进入红框时,移出蓝框自动消失;

当鼠标进入红框后,移出红框即可消失。

显示的是全部内容,帖子内容+评论区,可以发表评论。

但是这样有个问题会的导致红框下面的内容会被遮挡住,大佬们可以给个建议

 

代码奉上:

// ==UserScript==
// @name         大佬论坛帖子预览
// @version      1.0
// @description  首页即可浏览帖子内容!
// @author       Oyiso
// @match        *://dalao.net
// @match        *://dalao.net/index*
// @match        *://www.dalao.net
// @match        *://www.dalao.net/index*
// @icon         https://dalao.net/view/img/ioslogo.png
// ==/UserScript==

(function() {
  'use strict';

  const list = document.querySelectorAll('.threadlist li');
  if(list.length > 0) {
    let style = document.createElement('style');
    style.innerHTML = `
      .threadlist li {
        position: relative;
      }
      .oyiso-box {
        display: none;
        position: absolute;
        bottom: -400px;
        left: 0;
        width: 100%;
        height: 400px;
        overflow: auto;
        background-color: #fff;
        background: url(/img/937241919.png) repeat center top;
        border-radius: 10px;
        box-shadow: 0 0 15px 1px rgb(0 0 0 / .2);
        z-index: 999;
        padding: 20px;
      }
      .threadlist li.active .oyiso-box {
        display: block;
      }
      .oyiso-box .row .main {
        padding: 0;
      }
    `;
    document.head.appendChild(style);
  }
  list.forEach((li) => {
    let box = document.createElement('div');
    box.className = 'oyiso-box';
    box.innerHTML = 'Loading...';
    li.appendChild(box);
    let a = li.querySelector('.media-body .subject a');
    a.addEventListener('mouseenter', ()=> {
      li.classList.add('active');
      let url = a.getAttribute('href');
      requestData(url, box);
    });

    li.addEventListener('mouseleave', ()=> {
      removeData(li, box);
    });

    box.addEventListener('mouseleave', ()=> {
      removeData(li, box);
    });
  });

  function removeData(li, box) {
    li.classList.remove('active');
    box.innerHTML = 'Loading...';
  }

  function requestData(url, box) {
    fetch(url)
    .then(response => response.text())
    .then(data => {
      if (data) {
        let parser = new DOMParser();
        let doc = parser.parseFromString(data, 'text/html');
        let content = doc.querySelector('.row .main');
        box.innerHTML = content.innerHTML;
      }
    });
  }
})();
这家伙太懒了,什么也没留下。
已有评论 (15)
  • V ROOVPS (UID: 4480) 商家 @Ta
    1月前 (优质的服务 稳定的产品 欢迎选购 ROOVPS.COM)
    1

  • V Y (UID: 680) 设计达人 @Ta
    1月前
    2

    很好,但是之前的用习惯了。

  • 小胖脸 (UID: 4536) @Ta
    1月前 (小胖脸 https://xiaopanglian.com)
    3

    我都是鼠标中键新标签页打开

  • 名吧 (UID: 4599) @Ta
    1月前 (名吧 https://ming.ba)
    4

    厉害了,大佬

  • V 小镇做迪迦 (UID: 749) 赞助会员 @Ta
    1月前 (米表: hupo.cc)
    5

  • amdyyds (UID: 2291) @Ta
    1月前
    6
    小胖脸 我都是鼠标中键新标签页打开

    我是按住ctrl点击

  • V 阿呆 (UID: 1) 站长 @Ta
    1月前 (菜鸟工作室手牵手授权站长)
    7

    和这个类https://dalao.net/thread-14572.htm

  • amdyyds (UID: 2291) @Ta
    1月前
    8
    阿呆 和这个类https://dalao.net/thread-14572.htm

    我比较喜欢鼠标指上去显示内容,不改变原本布局

  • 野米 (UID: 911) @Ta
    1月前
    9

    可以可以

  • amdyyds (UID: 2291) @Ta
    1月前
    10

    头部信息更新一下,支持www

    // ==UserScript==
    // @name         大佬论坛帖子预览
    // @version      1.0
    // @description  首页即可浏览帖子内容!
    // @author       Oyiso
    // @match        *://dalao.net
    // @match        *://dalao.net/index*
    // @match        *://www.dalao.net
    // @match        *://www.dalao.net/index*
    // @icon         https://dalao.net/view/img/ioslogo.png
    // ==/UserScript==
  • V 猪猪吖 (UID: 4075) @Ta
    1月前 (无铭图床:https://wmimg.com 无铭API:https://jkapi.com 若无冤无仇,请各位大佬不要恶意攻击。)
    11

    这才是真正的大佬~

  • ayoux (UID: 2506) @Ta
    1月前
    12

    牛掰

  • SO (UID: 4672) @Ta
    1月前 (so.cx)
    13

    没什么说的,nb奉上

  • V 小归客 (UID: 1719) @Ta
    1月前 (这个家伙太懒了,什么都没有留下。)
    14

    可以。

  • 丘先森 (UID: 238) @Ta
    24天前 (imbk.cn)
    15

    牛掰

    • 大佬论坛
      16
      登录后才可回帖  登录 注册

本站同款香港KC服务器 酷盾安全联盟 智能优化防护 ROOVPS 便宜服务器 盾云SCDN 月付只需1元起