微件:GGLScratchGame:修订间差异

来自Limbo Wiki Mirror
Gaoice留言 | 贡献
无编辑摘要
标签(旧)WikiEditor
Gaoice留言 | 贡献
无编辑摘要
第194行: 第194行:
     if (!root) return;
     if (!root) return;


     // 从data属性读取参数(widget框架会在这里替换)
     // ===== 参数提取 =====
     var elTicketBg = document.getElementById('ticket-bg');
    // 方法1: 从URL查询参数提取(备用)
     var imgBg = elTicketBg ? elTicketBg.getAttribute('data-bg') : '图片1.png';
     var params = new URLSearchParams(window.location.search);
     var imgCover = elTicketBg ? elTicketBg.getAttribute('data-cover') : '刮开前.png';
     var imgBg = params.get('bg') || '图片1.png';
     var imgRevealed = elTicketBg ? elTicketBg.getAttribute('data-revealed') : '刮开后.jpg';
     var imgCover = params.get('cover') || '刮开前.png';
     var imgRevealed = params.get('revealed') || '刮开后.jpg';
   
    // 方法2: 如果有全局widget参数对象,尝试从中读取
    if (window.gglParams) {
        imgBg = window.gglParams.bg || imgBg;
        imgCover = window.gglParams.cover || imgCover;
        imgRevealed = window.gglParams.revealed || imgRevealed;
    }
   
    // 方法3: 尝试从第一个script标签的data属性读取
    var scriptTag = document.currentScript || document.scripts[document.scripts.length - 1];
    if (scriptTag) {
        imgBg = scriptTag.getAttribute('data-bg') || imgBg;
        imgCover = scriptTag.getAttribute('data-cover') || imgCover;
        imgRevealed = scriptTag.getAttribute('data-revealed') || imgRevealed;
    }


     // 应用背景图
     // 应用背景图
    var elTicketBg = document.getElementById('ticket-bg');
     if (elTicketBg && imgBg) {
     if (elTicketBg && imgBg) {
         elTicketBg.style.backgroundImage = "url('" + imgBg + "')";
         elTicketBg.style.backgroundImage = "url('" + imgBg + "')";
     }
     }
   
    // 调试:打印最终获取的参数
    console.log('Widget参数:', { imgBg, imgCover, imgRevealed });
     var TOTAL_CARDS = 11;
     var TOTAL_CARDS = 11;
     var currentIdx = 0;
     var currentIdx = 0;

2026年2月1日 (日) 14:16的版本

刮刮乐重构版

调用方式:

{{#widget:GGLScratchGame
|bg=图片1.png
|cover=图片2.png
|revealed=图片3.png
}}