Go to Graph button

a quick way to open a user's anime graph profile from their MAL profile

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

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

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Go to Graph button
// @namespace    MALgraphGo
// @version      1.4
// @description  a quick way to open a user's anime graph profile from their MAL profile
// @author       Samu
// @match        https://myanimelist.net/profile/*
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function() {
    'use strict';

    var url = document.location.href;

    var matchUsername = url.match(/\/profile\/([a-zA-Z0-9_-]{2,16})/);
    var nameEl = document.querySelector("[name='profileUsername']");
    // check if username is available on the page, otherwise get it from url, otherwise empty
    var username = nameEl && nameEl.value || matchUsername && matchUsername[1] || "";
    var url = "https://anime.plus/" + username ;
    var queueUrl = url + "/queue-add";
    var addUserUrl = url + "/profile" + "?referral=search";
    var graphButton = document.createElement("a");
    var userButtons = document.querySelector("#content .user-profile .user-button");

    graphButton.href = addUserUrl;
    graphButton.className = "btn-profile-submit";
    graphButton.innerText = "Graph";
    graphButton.setAttribute("style", "width: 100%;margin-top: 4px;");
    graphButton.setAttribute("target", "_blank");
    graphButton.setAttribute("rel", "noopener");

    if (userButtons) {
      userButtons.appendChild(graphButton);

      graphButton.addEventListener("click", function() {
        GM_xmlhttpRequest({
          method: "GET",
          url: queueUrl
        });
      });
    }

})();