Greasy Fork is available in English.
it之家评论区自动显示图片,无需跳转到手机版
- // ==UserScript==
- // @name it之家评论区显示图片
- // @namespace https://github.com/daimiaopeng
- // @version 1.0
- // @description it之家评论区自动显示图片,无需跳转到手机版
- // @author daimiaopeng
- // @match https://*.ithome.com/*
- // @icon https://img.ithome.com/img/soft/ithome.svg
- // ==/UserScript==
- (function() {
- 'use strict';
- // 监听DOM节点的变化
- const observer = new MutationObserver((mutations) => {
- mutations.forEach((mutation) => {
- if (mutation.type === 'childList') {
- // 处理新添加的节点
- handleNewNodes(mutation.addedNodes);
- }
- });
- });
- // 配置观察选项
- const config = { childList: true, subtree: true };
- // 开始观察页面的根节点
- observer.observe(document.body, config);
- function handleNewNodes(nodes) {
- nodes.forEach((node) => {
- if (node.nodeType === Node.ELEMENT_NODE) {
- if (node.matches('.post-img-list.c-1')) {
- decodeAndDisplayImage(node);
- }
- // 递归处理子节点
- node.querySelectorAll('.post-img-list.c-1').forEach((childNode) => {
- decodeAndDisplayImage(childNode);
- });
- }
- });
- }
- function decodeAndDisplayImage(node) {
- const span = node.querySelector('span.img-placeholder');
- if (span) {
- const dataS = span.getAttribute('data-s');
- if (dataS) {
- const decodedUrl = atob(dataS);
- const img = document.createElement('img');
- img.src = decodedUrl;
- span.innerHTML = ''; // 清空span内容
- span.appendChild(img); // 添加img元素
- }
- }
- }
- // 初始化时处理已有的节点
- document.querySelectorAll('.post-img-list.c-1').forEach((node) => {
- decodeAndDisplayImage(node);
- });
- })();