Rain Song
595 viestiä
|
#1 kirjoitettu
26.06.2014 22:52 Muok:27.06.2014 15:53
Asenna selaimeesi Greasemonkey (Firefox) tai Tampermonkey (Chrome), ellei sinulla ole sitä jo. Ja apinaan lisäät sitten alta löytyvän pätkän (suosittelen "lainaa"-napin käyttöä, muuten URLi katkeaa ja homma ei toimi) and voila, artistisivut ovat vapaat Adoben orjuudesta. Ainakin jos selaimesi osaa soittaa mp3-audiota.
// ==UserScript==
// @name Mikseri HTML5 player
// @namespace foo
// @description Mikseri.net flash audio player supplement
// @include http://www.mikseri.net...*
// @version 1.1
// @grant none
// ==/UserScript==
// Tämä aivan varmasti kosahtaa biiseihin, joiden lataaminen mp3:na ei ole sallittu.
// Ja jos Mikseri päättää vähänkin muuttaa HTML-koodia, niin siihenkin hajoaa.
// Artistisivun soittimet löytynevät diveistä, joiden luokka on track-player-mini
var players = document.evaluate("//div[@class='track-player-mini']",
document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = players.snapshotLength - 1; i >= 0; i--) {
var p = players.snapshotItem(i);
var songid = p.id.replace(/^player-/,"");
// Työnnetään koodia vanhan player-koodin ympärille
// = flash-embedi jää varalle jos sellaisen on skripti diviin tunkenut.
p.innerHTML = "<audio controls preload='none' style='margin:auto;'>" +
"<source src='/music/play.php?id="+songid+"&type=dl' type='audio/mp3'>" +
p.innerHTML + "</audio>";
}
// Biisisivun soitin: <div id="music-player">
var p = document.evaluate("//div[@id='music-player']",
document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
// Biisin kansikuva: <link rel="image_src" href="http://static.mikseri.net/m/c43/120003547690.jpg" />
var kansikuva = document.evaluate("//link[@rel='image_src']",
document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
// ID on missä? Vaikka tuossa: <div class="small sharelinks" id="sharelinks_558097">
var songid_div = document.evaluate("//div[@class='small sharelinks']",
document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
var songid = songid_div.id.replace(/^sharelinks_/,"");
if(p && kansikuva && songid) {
// Sama idea kuin artistisivulla, paitsi että tämä näyttää vaativan enemmän stailausta
p.innerHTML = "<div style='height: 70px; position: relative;'>" +
"<img src='" + kansikuva.href + "' alt='' />" +
"<audio controls preload='none' style='position: absolute; " +
"top: 0; bottom: 0; left: 0; right: 0; margin:auto;'>" +
"<source src='/music/play.php?id="+songid+"&type=dl' type='audio/mp3'>" +
p.innerHTML + "</audio></div>";
}
// Rain Song lisäsi tuen myös biisisivun soittimen korvaukselle 15:50 27.06.2014
|