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
// @grant       GM_xmlhttpRequest
// ==/UserScript==

var hiddenLanguages = ['English', 'Korean', 'French', 'German', 'Italian', 'Brazilian', 'Spanish', 'Hungarian', 'Hebrew'];
var shownLanguages = ['Japanese'];
var moreText = '';
var shownAbsent = [];
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 == '...') {
        shownAbsent.push(i);
        var moreText = trTags.item(2).innerHTML;
    }
    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);
            }
        }
    }
}

function xpath(query, object) {
    if(!object) var object = document;
    return document.evaluate(query, object, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
}

moreLink = xpath("//a[contains(@href, '/anime/')][contains(@href, '/characters')][@style='font-weight: normal;']");
if (shownAbsent.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 = shownAbsent.pop();
                var matchActor = matchCharacter[characterIndex].match(/<tr>[\u0000-\uFFFF]+?<\/tr>/igm);
                var JapaneseActor = [];
                for (var i = 0; i < matchActor.length; i++) {
                    if (matchActor[i].indexOf('<small>Japanese</small>') > -1) {
                        JapaneseActor.push(matchActor[i]);
                    }
                }
                emptyCharacter = document.getElementsByClassName('space_table').item(characterIndex);
                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 (shownAbsent.length > 0);
        }
    });
}

QingJ © 2025

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