打开/关闭搜索
搜索
打开/关闭菜单
60
73
29
1.1K
武外梗百科
导航
首页
最近更改
随机页面
站务
其他
友链
特殊页面
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
讨论
贡献
创建账号
登录
查看“︁MediaWiki:Common.js”︁的源代码
MediaWiki界面页面
查看
阅读
查看源代码
查看历史
associated-pages
系统消息
讨论
更多操作
←
MediaWiki:Common.js
因为以下原因,您没有权限编辑该页面:
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
//Microsoft 和 Google 分析 document.head.insertAdjacentHTML('beforeend',` <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-GVZPTSXG1H"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-GVZPTSXG1H'); </script> `); document.head.insertAdjacentHTML('beforeend',`a <script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "uewoetn0au"); </script> `); //页面摘要功能 function fillPageCards() { document.querySelectorAll('.page-card').forEach(card => { if (card.dataset.filled) return; const title = card.dataset.title?.trim(); if (!title) return; const length = parseInt(card.dataset.length) || 200; const excerptDiv = card.querySelector('.page-excerpt'); const imgDiv = card.querySelector('.page-card-image'); // MediaWiki API 根路径 const apiRoot = 'https://wflswiki.zelda-110.link/api.php'; // 1️⃣ 异步获取摘要 fetch(`${apiRoot}?action=query&prop=extracts&exchars=${length}&titles=${encodeURIComponent(title)}&format=json&explaintext=0`) .then(r => r.json()) .then(data => { const pages = data.query.pages; let html = ''; for (let pageId in pages) { if (pages.hasOwnProperty(pageId)) { html = pages[pageId].extract || ''; break; } } const temp = document.createElement('div'); temp.innerHTML = html; // 保留 <a> 标签,去掉其他 temp.querySelectorAll('*').forEach(node => { if (node.tagName !== 'A') { node.replaceWith(document.createTextNode(node.textContent)); } }); excerptDiv.innerHTML = temp.innerHTML.replace(/[\r\n]+/g, ' '); }) .catch(err => console.error('摘要加载失败', title, err)); // 2️⃣ 异步获取第一张图片 fetch(`${apiRoot}?action=query&titles=${encodeURIComponent(title)}&prop=images&format=json`) .then(r => r.json()) .then(data => { const pages = data.query.pages; for (let pageId in pages) { if (pages.hasOwnProperty(pageId)) { const images = pages[pageId].images || []; if (images.length > 0) { const firstImage = images[0].title; // 获取真实 URL fetch(`${apiRoot}?action=query&titles=${encodeURIComponent(firstImage)}&prop=imageinfo&iiprop=url&format=json`) .then(r => r.json()) .then(imgData => { const imgPages = imgData.query.pages; for (let imgId in imgPages) { if (imgPages.hasOwnProperty(imgId)) { const url = imgPages[imgId].imageinfo?.[0]?.url; if (url) { const imgEl = document.createElement('img'); imgEl.src = url; imgEl.alt = "概述图"; imgDiv.appendChild(imgEl); } } } }); } break; } } }) .catch(err => console.error('图片加载失败', title, err)); card.dataset.filled = '1'; }); } // 监听 DOMContentLoaded,保证 DOM 已渲染 document.addEventListener('DOMContentLoaded', fillPageCards); // 支持动态生成内容,例如 #ask 异步插入条目 const observer = new MutationObserver(fillPageCards); observer.observe(document.body, { childList: true, subtree: true });
返回
MediaWiki:Common.js
。
查看“︁MediaWiki:Common.js”︁的源代码
MediaWiki界面页面