User:Most2dot0/common.js
From Angelina Jordan Wiki
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
//syntax highlighter
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');
syntaxHighlighterConfig = { parameterColor: "#FFDD99" }
// embedded YouTube player implementation supporting ad-hoc playlists
function insertYouTubePlayer() {
var placeholder = document.getElementById('youtube-player-placeholder');
if (placeholder) {
// Get the list of video IDs from the data attribute
var videoList = placeholder.getAttribute('data-videos').split(',');
// Create a div element to hold the YouTube player
var playerDiv = document.createElement('div');
playerDiv.id = 'youtube-player';
placeholder.appendChild(playerDiv);
// Load the YouTube IFrame API
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Create the YouTube player
var player;
var currentVideoIndex = 0;
function onYouTubeIframeAPIReady() {
player = new YT.Player('youtube-player', {
height: '225',
width: '400',
videoId: videoList[currentVideoIndex],
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
playNextVideo();
}
}
function playNextVideo() {
currentVideoIndex++;
if (currentVideoIndex < videoList.length) {
player.loadVideoById(videoList[currentVideoIndex]);
} else {
currentVideoIndex = 0;
player.loadVideoById(videoList[currentVideoIndex]);
}
}
// Expose the API ready function to the global scope
window.onYouTubeIframeAPIReady = onYouTubeIframeAPIReady;
}
}
// Run the function to insert the YouTube player
insertYouTubePlayer();