Files
youtube-music/providers/song-info-front.js
2021-04-03 11:34:55 +02:00

32 lines
863 B
JavaScript

const { ipcRenderer } = require("electron");
const { getImage } = require("./song-info");
global.songInfo = {};
ipcRenderer.on("update-song-info", async (_, extractedSongInfo) => {
global.songInfo = JSON.parse(extractedSongInfo);
global.songInfo.image = await getImage(global.songInfo.imageSrc);
});
const injectListener = () => {
var oldXHR = window.XMLHttpRequest;
function newXHR() {
var realXHR = new oldXHR();
realXHR.addEventListener("readystatechange", () => {
if(realXHR.readyState==4 && realXHR.status==200){
if (realXHR.responseURL.includes('/player')){
// if the request is the contains the song info send the response to ipcMain
ipcRenderer.send(
"song-info-request",
realXHR.responseText
);
}
}
}, false);
return realXHR;
}
window.XMLHttpRequest = newXHR;
}
module.exports = injectListener;