// ==UserScript== // @name IMDb: Show Cinematographer on Main Page // @namespace https://greasyfork.org/en/scripts/8374-imdb-show-cinematographer-on-main-page // @description Inserts movie cinematographer into title pages. For people who use the old IMDb design. Based on kuehlschrank Budget Script // @author krylosz // @version v1 // @include http://www.imdb.com/title/tt*/ // @include http://www.imdb.com/title/tt*/reference* // @include http://www.imdb.com/title/tt*/maindetails* // @include http://www.imdb.com/title/tt*/combined* // @noframes // @downloadURL https://update.greasyfork.icu/scripts/8374/IMDb%3A%20Show%20Cinematographer%20on%20Main%20Page.user.js // @updateURL https://update.greasyfork.icu/scripts/8374/IMDb%3A%20Show%20Cinematographer%20on%20Main%20Page.meta.js // ==/UserScript== (function() { var hideWhenNA = true; var showGross = true; var titleId = window.location.pathname.match(/\/(tt\d+)\//)[1]; var container = insertContainer((showGross) ? 'Cinematographer' : 'Budget'); var cache = new TempCache(); var info = cache.get(titleId); if(info !== false) { showInfo(container, info); return; } var req = new XMLHttpRequest(); req.open('GET', 'http://www.imdb.com/title/' + titleId + '/combined', true); req.onreadystatechange = function() { switch(req.readyState) { case 1: container.innerHTML = 'Requesting...'; break case 2: container.innerHTML = 'Receiving...'; break; case 4: if(req.status == 200) { info = parseInfo(req.responseText); showInfo(container, info); cache.set(titleId, info); } else { container.innerHTML = 'Error: HTTP ' + req.status + ' ' + req.statusText; } break; } }; req.send(null); function insertContainer(name) { var outer = document.createElement('div'); outer.className = 'info'; outer.innerHTML = '