Greasy Fork

Greasy Fork is available in English.

NGA优化摸鱼体验插件-代码图片直接浏览

自动替换帖子内代码图片链接,优化跟车体验

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         NGA优化摸鱼体验插件-代码图片直接浏览
// @namespace    https://github.com/dldxz/NGA-BBS-plugin
// @version      1.0.1
// @author       dldxz
// @description  自动替换帖子内代码图片链接,优化跟车体验
// @license      MIT
// @match        *://bbs.nga.cn/*
// @match        *://ngabbs.com/*
// @match        *://nga.178.com/*
// @grant        unsafeWindow
// @run-at       document-start
// @inject-into  content
// ==/UserScript==

(function (registerPlugin) {
    'use strict';
    registerPlugin({
        name: 'ImageReplace',  // 插件唯一KEY
        title: '代码图片直接浏览',  // 插件名称
        desc: '自动替换帖子内代码图片链接',  // 插件说明
        settings: [{
            key: 'displayTitle',
            title: '占位符',
            desc: '描述信息\n描述信息'
        }, ],
        buttons: [],
        beforeSaveSettingFunc(setting) {
            console.log(setting)
            // return 值则不会保存,并抛出错误
            return '拦截'
        },
        preProcFunc() {
            // console.log('已运行: preProcFunc()')
        },
        initFunc() {
            const $ = this.mainScript.libs.$;
            // console.log('已运行: initFunc()')
            // console.log('插件ID: ', this.pluginID)
            // console.log('插件配置: ', this.pluginSettings)
            // console.log('主脚本: ', this.mainScript)
            // console.log('主脚本引用库: ', this.mainScript.libs)
        },
        postProcFunc() {
            // console.log('已运行: postProcFunc()')
        },
        renderThreadsFunc($el) {
            // console.log('列表项 (JQuery) => ', $el)
            // console.log('列表项 (JS) => ', $el.get(0))
        },
        renderFormsFunc($el) {
            if ($el.find("[title='快速浏览这个帖子']").length != 0) {
            }
            else {
                $el.find(".postcontent").each(function(){
            })
            var res = $el.find(".postcontent").text()
            var pattern = /\/[^\[\]]{20,40}.jpg/g
            var pattern1 = /\[noimg].*?[/noimg]]/g
            // console.log(res.match(pattern1))
            if (res.match(pattern) != null) {
                // 格式https://img.nga.178.com/attachments/mon_202407/04/d4Q5m9s-cundK1uT3cSlc-sg.jpg
                //获取回复日期
                var date = $el.find(".postdatec").text().split(" ")[0].split("-")
                var pre_url = "https://img.nga.178.com/attachments/mon_"+date[0]+date[1]+"/"+date[2]
                // console.log(pre_url)
                res = res.replace(pattern1,function(s){
                    // console.log(pre_url + s)
                    // console.log(s.slice(8,-8))
                    return "<img src="+ pre_url + s.slice(8,-8) +" class='hld__img-resize' hld__imglist='ready' hld-img-resize='ok' title='点击大图显示'>"
                })
                $el.find(".postcontent").html(res)
                // console.log(res)
            }
            }
            // console.log('回复项 (JQuery) => ', $el)
            // console.log('回复项 (JS) => ', $el.get(0))
        },
        renderAlwaysFunc() {
            // console.log('循环运行: renderAlwaysFunc()')
        },
        asyncStyle() {
            return `#ngascript_plugin_${this.pluginID} {color: red}`
        },
        style: `
        #ngascript_plugin_test {color: red}
        `
    })

})(function(plugin) {
    plugin.meta = GM_info.script
    unsafeWindow.ngaScriptPlugins = unsafeWindow.ngaScriptPlugins || []
    unsafeWindow.ngaScriptPlugins.push(plugin)
});