MediaWiki:Gadget-VideoResizer.js
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)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Automatically resize videos to fit the page width */
function autoResizer() {
$('#mw-content-text .autoResize').each(function() {
var body = $('#mw-content-text .mw-parser-output');
var iframe = $(this).find('iframe');
if (typeof iframe.attr('data-orig-width') == 'undefined') {
iframe.attr('data-orig-width', iframe.width());
iframe.attr('data-orig-height', iframe.height());
}
var newWidth = $(this).parent().parent().is('section') ? body.width() : body.width() - 10;
if (newWidth < iframe.attr('data-orig-width')) {
var aspect = iframe.attr('data-orig-width') / iframe.attr('data-orig-height');
var newWidth = Math.ceil(newWidth);
var newHeight = Math.floor(newWidth / aspect);
$(this).css('width', newWidth);
iframe.attr('width', newWidth);
iframe.attr('height', newHeight);
} else if (iframe.width() != iframe.attr('data-orig-width')) {
$(this).css('width', iframe.attr('data-orig-width'));
iframe.attr('width', iframe.attr('data-orig-width'));
iframe.attr('height', iframe.attr('data-orig-height'));
}
});
}
$(autoResizer);
$(window).resize(function() {
clearTimeout(window.resizeFinished);
window.resizeFinished = setTimeout(function() {
$(autoResizer);
}, 100);
});