微件:GGLScratchGame:修订间差异
来自Limbo Wiki Mirror
无编辑摘要 标签:(旧)WikiEditor |
无编辑摘要 |
||
| 第149行: | 第149行: | ||
<!-- HTML 结构 --> | <!-- HTML 结构 --> | ||
<!-- WIDGET_PARAMS: bg={{{bg}}}, cover={{{cover}}}, revealed={{{revealed}}} --> | |||
<div class="ggl-game-root" id="ggl-root"> | <div class="ggl-game-root" id="ggl-root"> | ||
<div class="game-header"> | <div class="game-header"> | ||
| 第194行: | 第195行: | ||
if (!root) return; | if (!root) return; | ||
// ===== 参数提取 | // ===== 参数提取 ===== | ||
// 方法1: 从HTML注释中提取参数(widget框架会处理模板语法) | |||
var htmlComment = ''; | |||
var walker = document.createTreeWalker( | |||
root, | |||
NodeFilter.SHOW_COMMENT, | |||
null, | |||
false | |||
); | |||
var node; | |||
while (node = walker.nextNode()) { | |||
if (node.nodeValue.includes('WIDGET_PARAMS')) { | |||
htmlComment = node.nodeValue; | |||
break; | |||
} | |||
} | |||
var imgBg = '图片1.png'; | |||
var imgCover = '刮开前.png'; | |||
var imgRevealed = '刮开后.jpg'; | |||
// 从注释中解析参数 | |||
if (htmlComment) { | |||
var bgMatch = htmlComment.match(/bg=([^,}]+)/); | |||
var coverMatch = htmlComment.match(/cover=([^,}]+)/); | |||
var revealedMatch = htmlComment.match(/revealed=([^}]+)/); | |||
if (bgMatch) imgBg = bgMatch[1].trim(); | |||
if (coverMatch) imgCover = coverMatch[1].trim(); | |||
if (revealedMatch) imgRevealed = revealedMatch[1].trim(); | |||
} | |||
// 方法2: 备用 - 从URL参数提取 | |||
var params = new URLSearchParams(window.location.search); | var params = new URLSearchParams(window.location.search); | ||
imgBg = params.get('bg') || imgBg; | |||
imgCover = params.get('cover') || imgCover; | |||
imgRevealed = params.get('revealed') || imgRevealed; | |||
// 调试:打印最终获取的参数 | // 调试:打印最终获取的参数 | ||
console.log('Widget参数 | console.log('Widget参数:', { imgBg, imgCover, imgRevealed }); | ||
// 应用背景图 | // 应用背景图 | ||
2026年2月1日 (日) 14:25的版本
刮刮乐重构版
调用方式:
{{#widget:GGLScratchGame
|bg=图片1.png
|cover=图片2.png
|revealed=图片3.png
}}
