←MediaWiki:Common.js因为以下原因,您没有权限编辑本页: 您请求的操作仅限属于这些用户组的用户执行:用户、自动确认用户 此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问translatewiki.net上的MediaWiki本地化项目。 您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。 您可以查看和复制此页面的源代码。 /* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */ $(document).ready(function () { /* 生成音频播放-s按钮 */ (function (){ var audios = document.getElementsByClassName('audio-player-s'); var notValidAudio = /wpDestFile/; var currentPlaying = null; for(var i = 0; i < audios.length; i++) { var audio = audios[i]; var linkEl = audio.firstElementChild; if (!linkEl) { continue; } var link = linkEl.href; if (notValidAudio.test(link)) { continue; } audio.innerHTML = ''; audio.classList.add('has-audio-element'); var a = document.createElement('audio'); a.src = link; a.preload = 'none'; a.onended = function () { currentPlaying = null; this.parentNode.classList.remove('audio-player-playing-s'); }; var button = document.createElement('button'); button.classList.add('audio-player-button-s'); button.append(a); button.onclick = function () { var a = this.firstElementChild; if (currentPlaying != null && currentPlaying != a) { currentPlaying.pause(); currentPlaying.currentTime = 0; currentPlaying.parentNode.classList.remove('audio-player-playing-s'); } if (a.paused) { a.play(); currentPlaying = a; this.classList.add('audio-player-playing-s'); this.classList.remove('audio-player-paused-s'); } else { a.pause(); this.classList.add('audio-player-paused-s'); this.classList.remove('audio-player-playing-s'); }; }; audio.append(button); }; })(); }); // https://dev.fandom.com/wiki/MediaWiki:Countdown/code.js ;(function (module, mw, $) { 'use strict' var countdowns = [] var NO_LEADING_ZEROS = 1, SHORT_FORMAT = 2, NO_ZEROS = 4 function output(i, diff) { var delta, result, parts = [] delta = diff % 60 result = ' ' + '秒' if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1) parts.unshift(delta + result) diff = Math.floor(diff / 60) delta = diff % 60 result = ' ' + '分' if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1) parts.unshift(delta + result) diff = Math.floor(diff / 60) delta = diff % 24 result = ' ' + '小时' if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1) parts.unshift(delta + result) diff = Math.floor(diff / 24) result = ' ' + '天' if (countdowns[i].opts & SHORT_FORMAT) result = result.charAt(1) parts.unshift(diff + result) result = parts.pop() if (countdowns[i].opts & NO_LEADING_ZEROS) { while (parts.length && parts[0][0] === '0') { parts.shift() } } if (countdowns[i].opts & NO_ZEROS) { parts = parts.filter(function (part) { return part[0] !== '0' }) } if (parts.length) { if (countdowns[i].opts & SHORT_FORMAT) { result = parts.join(' ') + ' ' + result } else { result = parts.join(' ') + ' ' + result } } countdowns[i].node.text(result) } function end(i) { var c = countdowns[i].node.parent() var toggle switch (c.attr('data-end')) { case 'remove': c.remove() return true case 'stop': output(i, 0) return true case 'toggle': toggle = c.attr('data-toggle') if (toggle && toggle == 'next') { c.next().css('display', 'inline') c.css('display', 'none') return true } if (toggle && $(toggle).length) { $(toggle).css('display', 'inline') c.css('display', 'none') return true } break case 'callback': callback = c.attr('data-callback') if (callback && $.isFunction(module[callback])) { output(i, 0) module[callback].call(c) return true } break } countdowns[i].countup = true output(i, 0) return false } function update() { var now = Date.now() var countdownsToRemove = [] $.each(countdowns.slice(0), function (i, countdown) { var diff = Math.floor((countdown.date - now) / 1000) if (diff <= 0 && !countdown.countup) { if (end(i)) countdownsToRemove.push(i) } else { output(i, Math.abs(diff)) } }) var x while ((x = countdownsToRemove.pop()) !== undefined) { countdowns.splice(x, 1) } if (countdowns.length) { window.setTimeout(function () { update() }, 1000) } } function getOptions(node) { var text = node.parent().attr('data-options'), opts = 0 if (text) { if (/no-leading-zeros/.test(text)) { opts |= NO_LEADING_ZEROS } if (/short-format/.test(text)) { opts |= SHORT_FORMAT } if (/no-zeros/.test(text)) { opts |= NO_ZEROS } } return opts } function init() { var countdown = $('.countdown:not(.handled)') if (!countdown.length) return $('.nocountdown').css('display', 'none') countdown .css('display', 'inline') .find('.countdowndate') .each(function () { var $this = $(this), date = new Date($this.text()).valueOf() if (isNaN(date)) { $this.text('BAD DATE') return } countdowns.push({ node: $this, opts: getOptions($this), date: date, }) }) countdown.addClass('handled') if (countdowns.length) { update() } } mw.hook('wikipage.content').add(init) })((window.countdownTimer = window.countdownTimer || {}), mediaWiki, jQuery) 返回MediaWiki:Common.js。