Skip to content

Instantly share code, notes, and snippets.

@subnomo
Last active August 3, 2019 13:41
Show Gist options
  • Save subnomo/4c987f56ab391289c17f to your computer and use it in GitHub Desktop.
Save subnomo/4c987f56ab391289c17f to your computer and use it in GitHub Desktop.
Edited Zren's Crunchyroll Userscript to better display each resolution
// ==UserScript==
// @name Crunchyroll: Resize Player To Window Size
// @description Moves the video to the top of the website and resizes it to the screen size.
// @author Chris H (Zren / Shade)
// @icon http://crunchyroll.com/favicon.ico
// @homepageURL http://userscripts.org/scripts/show/157272
// @downloadURL http://userscripts.org/scripts/source/157272.user.js
// @updateURL http://userscripts.org/scripts/source/157272.meta.js
// @namespace http://xshade.ca
// @version 1.1.1
// @include http*://*.crunchyroll.c*/*
// @include http*://crunchyroll.c*/*
// ==/UserScript==
(function() {
// Can't use !important with javascript element.style.___ so we need to inject CSS.
// http://stackoverflow.com/a/462603/947742
function addNewStyle(newStyle) {
var styleElement = document.getElementById('styles_js');
if (!styleElement) {
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = 'styles_js';
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
styleElement.appendChild(document.createTextNode(newStyle));
}
function getPosition(element) {
var xPosition = 0;
while(element) {
xPosition += (element.offsetLeft - element.scrollLeft + element.clientLeft);
element = element.offsetParent;
}
return xPosition;
}
var width = 1920;
var height = 1080;
var e360p = document.querySelector('[token="showmedia.360p"]').classList.contains('selected');
var e480p = document.querySelector('[token="showmedia.480p"]').classList.contains('selected');
var e720p = document.querySelector('[token="showmedia.720p"]').classList.contains('selected');
var e1080p = document.querySelector('[token="showmedia.1080p"]').classList.contains('selected');
if (e1080p) {
// Do nothing because width and height already set
} else if (e720p) {
width = 1280;
height = 720;
} else if (e480p) {
width = 640;
height = 480;
} else if (e360p) {
width = 480;
height = 360;
}
//var style = "html, body, #showmedia_video_box, #showmedia_video_box_wide, #showmedia_video_player { width: " + width + "px; height: "+ height + "px; }";
//document.getElementById('header_beta').setAttribute("style","width:2560px");
setTimeout(function () {
var videoBox = document.getElementById('showmedia_video');
var x = getPosition(videoBox)
if (!videoBox) return;
//document.body.insertBefore(videoBox, document.body.firstChild);
var center = x - ((window.innerWidth - width) / 2);
videoBox.style.marginLeft = '-' + center + 'px';
videoBox.style.width = width + 'px';
videoBox.style.height = height + 'px';
videoBox.style.backgroundColor = '#000';
var videoPlayer = document.getElementById('showmedia_video_player');
if (!videoPlayer) return;
console.log(videoPlayer);
//var videoObject = videoBox.getElementsByTagName('object')[0];
videoPlayer.width = width + 'px';
videoPlayer.height = height + 'px';
//addNewStyle(style);
}, 2000);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment