NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name IMDB Rating // @namespace com.adityapurwa.jenova.gmonkey.imdbrating // @description Display imdb rating when hovering on an imdb link // @include * // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // @version 1 // @grant GM_xmlhttpRequest // @copyright 2015, Aditya Purwa (www.myriatechnologies.com) // @oujs:author adityapurwa // ==/UserScript== requesting = false; currentlyHovered = null; $('[href*=\'imdb\']').on('mouseover', function (event) { var href = $(this).attr('href'); var regex = /http:\/\/www.imdb.com\/title\/(.+)/; var m = regex.exec(href); currentlyHovered = $(this) [0]; setTimeout(function () { if (!requesting) { requesting = true; GM_xmlhttpRequest({ method: 'GET', url: m[0].toString(), onload: function (r) { var dom = $.parseHTML(r.responseText); var rating = $(dom).find('[class=\'titlePageSprite star-box-giga-star\']'); var title = $('<div/>').css({ 'font-weight': 'bold', 'color': 'white' }).html('IMDB Rating'); var subtitle = $('<div/>').css({ 'font-weight': 'bold', 'color': 'white', 'font-size': '10px' }).html('click to dismiss'); var ratingBox = $('<div/>', { id: 'imdb-popup' }).append(title).append(subtitle).append('<div>' + rating.html() + '</div>').css({ 'position': 'absolute', 'left': currentlyHovered.offsetLeft + 'px', 'top': currentlyHovered.offsetTop + 'px', 'font-size': '18px', 'padding': '14px', 'color': 'black', 'z-index': 100, 'box-shadow': '0 0 12px rgba(160,120,50,.35)' }).appendTo($('body')).click(function () { $('#imdb-popup').remove(); }); var ratingValue = parseFloat(rating.html()); if (ratingValue > 8) { $(ratingBox).css('background', 'gold'); } else if (ratingValue > 5) { $(ratingBox).css('background', '#5A3'); } else { $(ratingBox).css('background', '#F34'); } requesting = false; } }); } }, 1000); });