MediaWiki:Common.js:修订间差异
MediaWiki界面页面
更多操作
无编辑摘要 |
无编辑摘要 |
||
| 第28行: | 第28行: | ||
const length = parseInt(div.dataset.length) || 200; | const length = parseInt(div.dataset.length) || 200; | ||
const url = '/api.php?action=query&prop=extracts&exchars=' + length + ' | // 调用 MediaWiki API 获取摘要 | ||
const url = '/api.php?action=query&prop=extracts&exchars=' + length + '&titles=' | |||
+ encodeURIComponent(title) + '&format=json'; | |||
fetch(url) | fetch(url) | ||
| 第41行: | 第43行: | ||
} | } | ||
} | } | ||
div. | // 保留链接,用 innerHTML | ||
div.innerHTML = text; | |||
div.dataset.filled = '1'; | div.dataset.filled = '1'; | ||
}) | }) | ||
.catch(err => { | .catch(err => { | ||
console.error('Failed to fetch excerpt | console.error('Failed to fetch excerpt for', title, err); | ||
div.textContent = ''; | div.textContent = ''; | ||
}); | }); | ||
| 第51行: | 第54行: | ||
} | } | ||
// MutationObserver 监控页面内容变化,兼容 | // MutationObserver 监控页面内容变化,兼容 SPA / 异步加载 | ||
const observer = new MutationObserver(() => fillExcerpts()); | const observer = new MutationObserver(() => fillExcerpts()); | ||
observer.observe(document.body, { childList: true, subtree: true }); | observer.observe(document.body, { childList: true, subtree: true }); | ||
// | // 页面首次加载执行一次 | ||
document.addEventListener('DOMContentLoaded', fillExcerpts); | document.addEventListener('DOMContentLoaded', fillExcerpts); | ||