grab.ximalaya.js 1.2 KB
Newer Older
D
grab  
david-hust 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
var Grab_Ximalaya = {
	version: 'grab.ximalaya',
	patchDownload: function () {
		var playlist = $webPlayer.playlist, rows = $$('.xm-player-list-content .row');
		for (var idx = 0; idx < rows.length; idx++) {
			if (idx >= playlist.length) break;
			var row = rows[idx], track = playlist[idx];
			var a = row.querySelector('.patch-download');
			if (!a) {
				row.insertAdjacentHTML('beforeend', '<a class="col-4 patch-download" style="margin-right:10px;" href="javascript:;" target="_self">下载</a>');
			}
		};
		var as = document.querySelectorAll('.patch-download');
		for (var i = 0; i < as.length; i++) {
			(function (idx) {
				as[idx].addEventListener('click', function () {
					var track = playlist[idx];
					if (as[idx].attributes['href'].value == 'javascript:;') {
						console.log(track.trackName);
						$webPlayer._handlers["player@selectingTrack"][0]({offlineFile: false, trackId: track.trackId}, function (a, res) {
							as[idx].attributes['href'].value = res.src;
							as[idx].attributes['target'].value = '_blank';
							as[idx].innerText = '下吧';
						})
					}
					event.stopPropagation();
				});
			})(i);
		}
	}
}

if (!$$ || !$webPlayer) alert('script version unmatch!');
else Grab_Ximalaya.patchDownload();