MAL Hide non-Japanese voice actors

Hides non-Japanese voice actors from show page

当前为 2015-04-19 提交的版本,查看 最新版本

// ==UserScript==
// @name        MAL Hide non-Japanese voice actors
// @namespace   MAL
// @include     http://myanimelist.net/anime*
// @description Hides non-Japanese voice actors from show page
// @version     1.5.3
// @grant       GM_xmlhttpRequest
// ==/UserScript==

var hiddenLanguages = ['English', 'Korean', 'French', 'German', 'Italian', 'Brazilian', 'Spanish', 'Hungarian', 'Hebrew'];
var moreText = '';
var hasMore = [];
var hasMuchMore = [];
var spaceTables = document.getElementsByClassName('space_table');
for (var i = 0; i < spaceTables.length; i++) {
    var trTags = spaceTables.item(i).getElementsByTagName('tr');
    if (trTags.item(2).textContent == '...') {
        hasMore.push(i);
        moreText = trTags.item(2).innerHTML;
    } else {
        if (trTags.length == 20) {
            hasMuchMore.push(i);
        }
    }
    for (var j = trTags.length - 1; j >= 0; j--) {
        var trTag = trTags.item(j);
        var smallTags = trTag.getElementsByTagName('small');
        if (smallTags.length > 0) {
            var languageText = smallTags.item(0).innerHTML;
            if (hiddenLanguages.indexOf(languageText) > -1) {
                trTag.parentNode.removeChild(trTag);
            }
        }
    }
}

var moreLink = document.evaluate(
    "//a[contains(@href, '/anime/')][contains(@href, '/characters')][@style='font-weight: normal;']",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);
if (hasMore.length > 0 && moreLink.snapshotLength > 0) {
    moreLink = moreLink.snapshotItem(0).href;
    GM_xmlhttpRequest({
        method: 'GET',
        url: moreLink,
        headers: {
            'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey',
            'Accept': 'application/atom+xml,application/xml,text/xml',
        },
        onload: function(responseDetails) {
            var matchCharacter = responseDetails.responseText.match(/<table border="0" cellpadding="0" cellspacing="0" class="space_table">([\u0000-\uFFFF]+?)<\/table>/igm);
            do {
                var characterIndex = hasMore.pop();
                var matchActor = matchCharacter[characterIndex].match(/<tr>[\u0000-\uFFFF]+?<\/tr>/igm);
                if (matchActor.length == 19) {
                    hasMuchMore.push(characterIndex);
                }
                var JapaneseActor = [];
                for (var i = 0; i < matchActor.length; i++) {
                    if (matchActor[i].indexOf('<small>Japanese</small>') > -1) {
                        JapaneseActor.push(matchActor[i]);
                    }
                }
                var emptyCharacter = document.getElementsByClassName('space_table').item(characterIndex);
                var trTagsLength = emptyCharacter.getElementsByTagName('tr').length;
                for (var j = 2; j < trTagsLength; j++) {
                    JapaneseActor.shift();
                }
                while (JapaneseActor.length > 0) {
                    emptyCharacter.innerHTML = emptyCharacter.innerHTML.replace(moreText, JapaneseActor.shift() + moreText);
                }
            } while (hasMore.length > 0);
            loadMuchMore();
        }
    });
}

loadMuchMore();

function loadMuchMore() {
    if (hasMuchMore.length > 0) {
        //Not implemented yet :D
    }
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址