一个没什么用的油猴脚本

今天发现吾皇上新这个功能(大喜)
屏幕快照 2024-04-23 09.49.14


显示这个帖子中的楼主
感觉论坛自带这个功能但是我没找到

// ==UserScript==
// @name         linux do 显示楼主
// @namespace    http://tampermonkey.net/
// @version      0.1.4
// @description  显示谁是楼主
// @author       You
// @match        https://linux.do/*
// @icon         https://linux.do/uploads/default/optimized/1X/3a18b4b0da3e8cf96f7eea15241c3d251f28a39b_2_180x180.png
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const FETCH_REQUEST_OPTIONS = {
        headers: {
            "Accept": "application/json",
            "User-Agent": "Mozilla/5.0"
        },
        method: "GET",
    };

    // 获取楼主用户ID
    async function getUserId() {
        let url = window.location.pathname;
        const topicId = url.split('/')[3];
        url = `https://linux.do/t/topic/${topicId}/1`;

        const response = await fetch(url, FETCH_REQUEST_OPTIONS);
        const obj = await response.json();
        const userId = obj.post_stream.posts[0].user_id;

        return userId;
    }

    async function addOpBadge() {
        const userId = await getUserId();
        document.querySelectorAll('article').forEach(article => {
            var userCard = article.querySelector("div.names.trigger-user-card");
            if (article.dataset.userId == userId){
                if (!userCard.querySelector("span.OP")) {
                    userCard.innerHTML += `<span class="OP" style="padding: 1px 5px 0 5px; border-radius: 4px; color: var(--secondary);font-size: 10px;background-color: var(--tertiary);font-weight: 900;">楼主</span>`;
                }
            }
        });
    }

    function initMutationObserver() {
        var observer = new MutationObserver(function () {
            addOpBadge();
        });

        observer.observe(document.body, { childList: true, subtree: true });
    }

    async function init() {
        addOpBadge();
        initMutationObserver();
    }

    window.addEventListener('load', init);

})();

根据 @delph1s 佬的建议改了一点

2 个赞

好像确实没有这个功能

1 个赞

好!!

为啥不直接response.json()

码住

这是实现了什么功能

显示谁是楼主

1 个赞

因为我很菜 :smiling_face_with_tear:一开始搓的时候没想到json :rofl:

现在知道了,不菜了,成为大佬666

1 个赞