打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

舰R百科是靠无数志愿编辑者持续地建设更新完善的。编辑非常简单,无需代码知识,请勇于更新页面!
编辑入门 | 资助百科 | 留言讨论页 | 微博@舰R百科 | 百科编辑讨论Q群:366818861

MediaWiki:Vector.js:修订间差异

MediaWiki界面页面
Donnyjie留言 | 贡献
无编辑摘要
Donnyjie留言 | 贡献
无编辑摘要
 
(未显示同一用户的5个中间版本)
第1行: 第1行:
/* 此处所有JavaScript将为使用Vector皮肤的用户加载 */
/* 此处所有JavaScript将为使用Vector皮肤的用户加载 */
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
/* 显示存在的配音文件的播放按钮 new */
$(function () {
    $('.audio-native-trigger').each(function () {
        var $container = $(this);
        var url = $container.data('src');
        if (!url) return;
        var tester = new Audio();
        tester.src = url;
        tester.preload = "metadata";
        tester.onloadedmetadata = function () {
            tester = null;
            var $btn = $('<span class="audio-play-icon" style="cursor:pointer; user-select:none; font-size:1.75em; vertical-align:middle;">🔊</span>');
            $container.empty().append($btn).show();
            $btn.on('click', function () {
                var currentAudio = $container.data('audio-instance');
                if (currentAudio) {
                    currentAudio.pause();
                    currentAudio.onended = null;
                }
                var audio = new Audio(url);
                audio.preload = "auto";
                audio.loop = false;
                $container.data('audio-instance', audio);
                var playPromise = audio.play();
                audio.onended = function () {
                    $container.data('audio-instance', null);
                };
                audio.onerror = function() {
                    $container.data('audio-instance', null);
                };
            });
        };
        tester.onerror = function () {
            $container.remove();
            tester = null;
        };
    });
});