NetMusicTime

查看网易云音乐歌单总时间

이 스크립트를 설치하려면 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         NetMusicTime
// @namespace    https://github.com/Cacivy/utils/blob/master/GreasyFork/NetMusicTime.js
// @version      0.2
// @description  查看网易云音乐歌单总时间
// @author       Cacivy
// @match        http://music.163.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

        var _trs = document.querySelectorAll('.m-table tbody tr');
        if (_trs && _trs.length) {
            var times = [];
             Array.prototype.forEach.call(_trs, function(_tr) {
                var _span = _tr.children[2].children[0];
                var time = _span.innerText;
                times.push(time);
            })
            if (times.length) {
                var h=0, m=0, s=0;
                times.forEach(function(x) {
                    var arr = x.split(':');
                    var minute = parseInt(arr[0]);
                    var second = parseInt(arr[1]);
                    m += minute;
                    s += second;
                    if (s >= 60) {
                        m++;
                        s-=60;
                    }
                    if (m >= 60) {
                        h++;
                        m-=60;
                    }
                });
            var text = h+':'+m+':'+s;
            console.log('Time: '+text);
            var _span = document.getElementsByClassName('s-fc4')[0];
            _span.innerText = _span.innerText  + ' ('+text+')';
    }
}
})();