您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Now Playing Data
// ==UserScript== // @name NowSniper // @namespace NowSniper // @version 1.0.1 // @description Now Playing Data // @author Kıraç Armağan Önal // @match *://open.spotify.com/* // @match *://soundcloud.com/* // @grant unsafeWindow // ==/UserScript== (function() { 'use strict'; var ws = new WebSocket("ws://127.0.0.1:9081"); unsafeWindow.ws = ws; function wsSend(data){ ws.send(JSON.stringify({data,hostname:window.location.hostname,date:Date.now()})); } function StartFunction(){ setInterval(()=>{ let hostname = window.location.hostname; if (hostname == "soundcloud.com") { let isPlaying = document.querySelector(".playControl").classList.contains("playing"); let artwork = document.querySelector(".playbackSoundBadge span.sc-artwork").style.backgroundImage.slice(5,-2).replace("t50x50","t500x500"); let title = document.querySelector(".playbackSoundBadge__titleLink").title; let artist = document.querySelector(".playbackSoundBadge__lightLink").title; let timePassed = document.querySelector(".playbackTimeline__timePassed span:nth-child(2)").textContent; let totalDuration = document.querySelector(".playbackTimeline__duration span:nth-child(2)").textContent; let albumLink = document.querySelector(".playbackSoundBadge__titleLink").href; wsSend({artwork,title,artist,isPlaying,timePassed,totalDuration,albumLink}); } else if (hostname == "open.spotify.com") { let isPlaying = !!document.querySelector('.player-controls [data-testid="control-button-pause"]'); let title = document.querySelector('[data-testid="nowplaying-track-link"]').textContent; let artist = [...new Set(Array.from(document.querySelectorAll('span[draggable] a[href*="artist"]')).map(i=>i.textContent))].join(", "); let artwork = document.querySelector('[data-testid="CoverSlotExpanded__container"] .cover-art-image').style.backgroundImage.slice(5,-2); let timePassed = document.querySelectorAll(".playback-bar .playback-bar__progress-time")[0].textContent; let totalDuration = document.querySelectorAll(".playback-bar .playback-bar__progress-time")[1].textContent; let albumLink = document.querySelector('[data-testid="nowplaying-track-link"]').href; wsSend({artwork,title,artist,isPlaying,timePassed,totalDuration,albumLink}); } },1000); } if (ws.readyState == WebSocket.OPEN) { StartFunction(); } else { ws.onopen = ()=>{StartFunction();} } })();