Greasy Fork

Greasy Fork is available in English.

显示nga头像

在正常模式下无视内容长度显示用户头像

当前为 2019-01-30 提交的版本,查看 最新版本

// ==UserScript==
// @name         显示nga头像
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  在正常模式下无视内容长度显示用户头像
// @author       wfel
// @match        *://bbs.ngacn.cc/read.php*
// @match        *://bbs.nga.cn/read.php*
// @match        *://nga.178.com/read.php*
// @grant        none
// ==/UserScript==

(function() {
    var ____prevChilds = document.querySelectorAll('td.c1 > span.posterinfo > div:first-child');
    var ____uindex = 0;
    var ____uinfo = {};
    var ____udata = {};
    var avatarElem;

    function createElementFromHTML(htmlString) {
        var div = document.createElement('div');
        div.innerHTML = htmlString.trim();

        // Change this to div.childNodes to support multiple top-level nodes
        return div.firstChild;
    }

    // 是否显示图像由cLen(uinfo.cLength)和udata.vsmall共同控制
    // cLength由contentC.innerHTML.length控制(页面未渲染前的字符数量),vsmall:屏幕大小
    // 但这两个标志不知道为什似乎有bug

    for(var iter = 0; iter < ____prevChilds.length; ++iter)
    {
        if(____prevChilds[iter].nextElementSibling.tagName.toLowerCase() == 'img') {
            console.log(`next of ${iter} is img`);
            continue;
        }
        console.log(`find ${iter}`);
        ____uindex = parseInt(____prevChilds[iter].parentNode.id.toString().slice(10), 10);
        ____udata = commonui.postArg.data[____uindex];
        ____uinfo = commonui.userInfo.users[____udata.pAid];
        console.log('avatar is ' + ____uinfo.avatar);
        avatarElem = commonui.posterInfo.avatar(____uindex, 2, ____uinfo.avatar, ____uinfo.buffs, ____udata ? ____udata.atItem :null, ____udata.pAid);
        //console.log('elem is ' + avatarElem);
        if(avatarElem)
            ____prevChilds[iter].parentNode.insertBefore(createElementFromHTML(avatarElem), ____prevChilds[iter].nextSibling);
    }
})();