AvBase 預覽圖放大

Modify image display to show original size images without scrolling

Ajankohdalta 20.8.2024. Katso uusin versio.

// ==UserScript==
// @name         AvBase 預覽圖放大
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  Modify image display to show original size images without scrolling
// @match        https://www.avbase.net/*
// @grant        none
// @license MIT
// ==/UserScript==

// ==UserScript==
// @name         Image Display Modifier - Grid Layout with Horizontal Scroll
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Modify image display to show original size images in a grid layout with horizontal scroll
// @match        https://website.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 找到包含圖片的容器
    const container = document.querySelector('.flex.overflow-x-auto.overflow-y-hidden');
    if (!container) return;

    // 創建新的垂直排列容器
    const verticalContainer = document.createElement('div');
    verticalContainer.style.display = 'flex';
    verticalContainer.style.flexDirection = 'column';
    verticalContainer.style.alignItems = 'center';
    verticalContainer.style.gap = '20px';
    verticalContainer.style.padding = '20px';
    verticalContainer.style.width = '100%';
    verticalContainer.style.overflowX = 'auto';

    // 替換原來的容器
    container.parentNode.replaceChild(verticalContainer, container);

    // 移動並修改每個圖片元素
    container.querySelectorAll('a').forEach(link => {
        const newSrc = link.href;
        const img = link.querySelector('img');
        if (img) {
            img.src = newSrc;
            img.style.width = 'auto';
            img.style.height = 'auto';
            img.style.maxWidth = '100%';
            img.style.objectFit = 'contain';
        }

        // 調整鏈接容器樣式
        link.style.display = 'block';
        link.style.width = 'auto';
        link.style.height = 'auto';

        // 將鏈接移動到新的垂直容器中
        verticalContainer.appendChild(link);
    });

    // 調整父容器樣式
    const parentContainer = verticalContainer.closest('.h-28.w-full.flex.items-center');
    if (parentContainer) {
        parentContainer.style.height = 'auto';
        parentContainer.style.maxHeight = 'none';
        parentContainer.style.width = '100%';
        parentContainer.style.display = 'block';
    }
})();