Links on Disney+ - IMDB, Rotten Tomatoes, Metacritic

Add links for searching titles from disneyplus.com

当前为 2022-01-03 提交的版本,查看 最新版本

// ==UserScript==
// @name         Links on Disney+ - IMDB, Rotten Tomatoes, Metacritic
// @description  Add links for searching titles from disneyplus.com
// @version      0.3
// @author       mica
// @namespace    greasyfork.org/users/12559
// @include      https://www.disneyplus.com/*
// @require      https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// @grant        none
// @license      MIT
// ==/UserScript==

$('head').append(`
<style>
    #sbox {margin: -16px 0 0 10px}
    #sbox a {margin: 0 8px}
    #sbox img {width: 24px; height: 24px;}
</style>
`);
var url
function checkReady() {
    if (document.getElementsByTagName('body')[0].getAttribute('style') == null) {
        setTimeout(checkReady, 1000);
    } else {
        makeLinks()
    }
}
function makeLinks() {
    setInterval(function() {
        if (url != location.href) {
            url = location.href;
            $('#sbox').remove();
            setTimeout(function() {
                var title = $('h1').text();
                var mc = 'https://www.metacritic.com/search/all/' + encodeURIComponent(title.replace(/\*|\//g,' ')) + '/results';
                var imdb = 'https://www.imdb.com/find?s=tt&ref_=fn_tt&q=' + encodeURIComponent(title);
                var rt = 'https://www.rottentomatoes.com/search/?search=' + encodeURIComponent(title);
                $('[data-gv2containerkey|="contentMeta"]').find('p:first').after([
                    $('<div>').attr('id', 'sbox').append([
                        $('<a>').attr('href', mc).attr('target', '_blank').html('<img src="https://www.metacritic.com/favicon.ico">'),
                        $('<a>').attr('href', imdb).attr('target', '_blank').html('<img src="https://www.imdb.com/favicon.ico">'),
                        $('<a>').attr('href', rt).attr('target', '_blank').html('<img src="https://www.rottentomatoes.com/favicon.ico">')
                    ])
                ]);
            }, 1000);
        }
    }, 100);
}
checkReady()