MediaWiki:Common.js: различия между версиями
Нет описания правки |
Откат правки 362378 участника Тэйтанка-птекила (обс.) Метка: отмена |
||
| (не показано 60 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
/* Нигилистические фокусы (см. | /* Нигилистические фокусы (см. шаблон {{tl|Нигилизм}}) */ | ||
$(function () { | $(function () { | ||
var nihilism = $('#nihilism'); | var nihilism = $('#nihilism'); | ||
| Строка 20: | Строка 20: | ||
}); | }); | ||
/* Стирание памяти для «Людей в чёрном» */ | /* Стирание памяти для [[MIB]] («Людей в чёрном») */ | ||
$(function () { | $(function () { | ||
if ($("#erase_memory")[0]) | if ($("#erase_memory")[0]) | ||
| Строка 50: | Строка 50: | ||
/* Вставка юзернейма с помощью <span class="insertusername"></span> */ | /* Вставка юзернейма с помощью <span class="insertusername"></span> */ | ||
$(function () { | $(function () { | ||
if ((typeof (disableUsernameReplace) == "undefined" || !disableUsernameReplace) && mw.config.get("wgUserName") !== null) | if ((typeof (disableUsernameReplace) == "undefined" || !disableUsernameReplace) && mw.config.get("wgUserName") !== null) { | ||
$("span.insertusername"). | var username = mw.config.get("wgUserName"); | ||
$("span.insertusername").text(username); | |||
} | |||
}); | }); | ||
/* Замена категорий для шаблона {{Cats}} */ | /* Замена категорий для шаблона {{Cats}} */ | ||
| Строка 77: | Строка 67: | ||
/* | /* Вставка VK-видео на страницу для шаблона {{VKVideo}} */ | ||
(function() { | |||
'use strict'; | |||
function initVKVideo() { | |||
var | var containers = document.querySelectorAll('.vk-video-js'); | ||
for (var i = 0; i < containers.length; i++) { | |||
var container = containers[i]; | |||
var oid = container.getAttribute('data-oid'); | |||
var | var id = container.getAttribute('data-id'); | ||
var width = container.getAttribute('data-width') || '560'; | |||
var height = container.getAttribute('data-height') || '315'; | |||
width = parseInt(width) || 560; | |||
height = parseInt(height) || 315; | |||
if (width > 1920) width = 1920; | |||
if (height < 100) height = 100; | |||
if (height > 1080) height = 1080; | |||
if (oid && id && oid !== 'null' && id !== 'null' && /^[a-zA-Z0-9_-]{1,100}$/.test(oid) && /^[-_a-zA-Z0-9]+$/.test(id)) { | |||
var iframe = document.createElement('iframe'); | |||
iframe.src = 'https://vk.com/video_ext.php?oid=' + encodeURIComponent(oid) + '&id=' + encodeURIComponent(id); | |||
iframe.width = width; | |||
iframe.height = height; | |||
iframe.frameBorder = '0'; | |||
iframe.allowFullscreen = true; | |||
iframe.sandbox = 'allow-scripts allow-same-origin allow-presentation allow-fullscreen'; | |||
iframe.allow = 'fullscreen'; | |||
iframe.referrerPolicy = 'no-referrer'; | |||
iframe.loading = 'lazy'; | |||
iframe.style.border = 'none'; | |||
while (container.firstChild) { | |||
container.removeChild(container.firstChild); | |||
} | |||
container.appendChild(iframe); | |||
} else { | |||
var errorDiv = document.createElement('div'); | |||
errorDiv.style.color = 'red'; | |||
errorDiv.style.padding = '10px'; | |||
errorDiv.style.textAlign = 'center'; | |||
errorDiv.style.border = '1px solid'; | |||
errorDiv.style.backgroundColor = '#fff'; | |||
errorDiv.style.fontFamily = 'Arial, sans-serif'; | |||
errorDiv.style.fontSize = '14px'; | |||
errorDiv.style.margin = '5px 0'; | |||
errorDiv.textContent = 'Ошибка: неверные параметры видео'; | |||
while (container.firstChild) { | |||
container.removeChild(container.firstChild); | |||
} | |||
container.appendChild(errorDiv); | |||
} | |||
} | } | ||
} | } | ||
if (document.readyState === 'loading') { | |||
document.addEventListener('DOMContentLoaded', initVKVideo); | |||
if (document.readyState === 'loading') { | } else { | ||
initVKVideo(); | |||
} else { | } | ||
})(); | |||
} | |||
}); | |||