跳转到内容

MediaWiki:Gadget-AudioText.js

来自电棍ottowiki
OctoberSama留言 | 贡献2025年5月24日 (六) 20:46的版本 (创建页面,内容为“(function() { // 加载完成后初始化 mw.hook('wikipage.content').add(function() { document.querySelectorAll('.audio-trigger').forEach(function(element) { element.addEventListener('click', function() { const audioFile = element.getAttribute('data-audio-file'); // 获取音频文件的真实URL const apiUrl = mw.util.wikiScript('api') + '?action=query&titles=' +…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
(function() {
    // 加载完成后初始化
    mw.hook('wikipage.content').add(function() {
        document.querySelectorAll('.audio-trigger').forEach(function(element) {
            element.addEventListener('click', function() {
                const audioFile = element.getAttribute('data-audio-file');
                // 获取音频文件的真实URL
                const apiUrl = mw.util.wikiScript('api') + '?action=query&titles=' + 
                    encodeURIComponent(audioFile) + '&prop=imageinfo&iiprop=url&format=json';

                fetch(apiUrl)
                    .then(response => response.json())
                    .then(data => {
                        const pages = data.query.pages;
                        const pageId = Object.keys(pages)[0];
                        const audioUrl = pages[pageId].imageinfo[0].url;
                        const audio = new Audio(audioUrl);
                        audio.play().catch(error => {
                            alert('播放失败,请点击页面其他位置后再试');
                        });
                    });
            });
        });
    });
})();