MonzooAnimaux

Ajoute des informations sur l'animal sur la page d'achat

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         MonzooAnimaux
// @namespace    grenad-monzoo
// @version      1.0
// @description  Ajoute des informations sur l'animal sur la page d'achat
// @author       Grenad
// @match        http://www.monzoo.net/achat_animaux.php*
// @match        http://www.monzoo.net/enclosgestion1.php*
// @copyright   Copyright 2017 -- Grenad
// ==/UserScript==

(function() {
    'use strict';

    if(document.querySelector("#jumpMenu") !== null)
        return;

    var parser = new DOMParser();
    var bourse_dom;
    var bourse_animals = [];
    var animals = [];
    var tb = Array.prototype.slice.call(document.querySelector('form[name="formenclos"] table').tBodies[0].rows, 0);

    function loadBourse() {
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                var bourse = Array.prototype.slice.call(parser.parseFromString(this.responseText, "text/html").querySelectorAll(".content_site table")[4].tBodies[0].rows, 0);
                for(var it = 0 ; it < bourse.length ; it ++) {
                    var obj = {};
                    obj.name = bourse[it].cells[0].textContent.trim().toLowerCase();
                    obj.base = parseInt(bourse[it].cells[1].textContent);
                    obj.prce = parseInt(bourse[it].cells[2].textContent);
                    obj.tdce = ((obj.prce * 100 / obj.base) - 100).toFixed(2);
                    bourse_animals.push(obj);
                }
                initReplace();
            }
        };
        xhttp.open("GET", "http://www.monzoo.net/bourse.php", true);
        xhttp.send();
    }

    loadBourse();

    function search(name) {
        for(var it = 0 ; it < bourse_animals.length ; it ++) {
            if(name == bourse_animals[it].name) {
                return bourse_animals[it];
            }
        }
        return -1;
    }

    function initReplace() {
        for(var it = 0 ; it < tb.length ; it ++) {
            if (it % 2)
                continue;
            var a = tb[it].cells[0].querySelector('table').tBodies[0].rows[0].cells[1];//.innerHTML += (it / 2).toString();
            var b = tb[it].cells[2].querySelector('table').tBodies[0].rows[0].cells[1];
            var name = a.querySelector("strong").nextSibling.nodeValue.trim().toLowerCase();
            var o = search(name);
            var add_span_a = a.querySelector("span");
            var add_span_b = b.querySelector("span");
            var add_span_txt;
            var add_div_a = a.querySelector("div");
            var add_div_b = b.querySelector("div");
            var add_div_txt;
            if(add_span_a !== null) {
                add_span_txt = add_span_a.textContent.trim();
                a.removeChild(add_span_a);
                b.removeChild(add_span_b);
            }
            if(add_div_a !== null) {
                add_div_txt = add_div_a.textContent.trim();
                a.removeChild(add_div_a);
                b.removeChild(add_div_b);
            }
            if(o != -1) {
                a.innerHTML += "<strong>Prix initial :</strong> " + o.base + " Zoo'z";
                b.innerHTML += "<strong>Prix initial :</strong> " + o.base + " Zoo'z";
                a.innerHTML += "<br>";
                b.innerHTML += "<br>";
                a.innerHTML += "<strong>Tendance :</strong> ";
                b.innerHTML += "<strong>Tendance :</strong> ";
                if(o.tdce < 0) {
                    a.innerHTML += '<span style="color: red;">' + o.tdce + '%</span>';
                    b.innerHTML += '<span style="color: red;">' + o.tdce + '%</span>';
                }
                else if(o.tdce > 0) {
                    a.innerHTML += '<span style="color: green;">+' + o.tdce + '%</span>';
                    b.innerHTML += '<span style="color: green;">+' + o.tdce + '%</span>';
                }
                else {
                    a.innerHTML += '<span>Stable</span>';
                    b.innerHTML += '<span>Stable</span>';
                }
            }
            if(add_span_a !== null) {
                a.innerHTML += '<br><span style="color: red;">⚠ ' + add_span_txt + '</span>';
                b.innerHTML += '<br><span style="color: red;">⚠ ' + add_span_txt + '</span>';
            }
            if(add_div_a !== null) {
                a.innerHTML += '<br><span style="color: red;">⚠ ' + add_div_txt + '</span>';
                b.innerHTML += '<br><span style="color: red;">⚠ ' + add_div_txt + '</span>';
            }
        }
    }
})();