网易云解析

网易云音乐解析

当前为 2023-04-18 提交的版本,查看 最新版本

// ==UserScript==
// @name         网易云解析
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  网易云音乐解析
// @author       wangkaixuan
// @match        https://music.163.com/song*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=163.com
// @license      Apache
// @grant        GM_xmlhttpRequest
// ==/UserScript==
//界面设计
var title="获取中";
var url="";
const div = document.createElement('div');
const divs = document.createElement('div');
const span = document.createElement('span');
//const button = document.createElement('button');
//button.textContent = '下一首';
const audio = document.createElement('audio');
audio.controls = true;
audio.loop = true;

const text = document.createTextNode('浏览器版本过低');
audio.appendChild(text);
divs.appendChild(span);
//divs.appendChild(button);
div.appendChild(audio);
div.appendChild(divs);
document.body.appendChild(div);
//button.addEventListener('click',function(){} )
div.style.width="300px"
div.style.height="100px"
div.style.border="5px solid black";
div.style=`
position:fixed;
border-radius:30px;
width:300px;
height:120px;
border:5px solid black;
top:290px;
left:640px;
`
divs.style=`
border-radius:25px;
width:300px;
height:120px;
background-color: #ddd;
padding: 12px;
cursor: grab;
box-sizing: border-box;
`
audio.style=`position:absolute;
bottom:0;
left:0;
`
span.style=`font-size:20px`
//button.style.float="right"

//鼠标拖动功能
let startX, startY;
// 定义变量,记录div元素的初始位置
let initialX, initialY;
// 定义变量,记录是否处于拖动状态
let isDragging = false;
// 鼠标按下事件监听器
divs.addEventListener('mousedown', function(e) {
  // 记录鼠标按下时的位置
  startX = e.clientX;
  startY = e.clientY;
  // 记录div元素的初始位置
  const rect = div.getBoundingClientRect();
  initialX = rect.left;
  initialY = rect.top;
  // 将状态设置为拖动状态
  isDragging = true;
});
// 鼠标移动事件监听器
document.addEventListener('mousemove', function(e) {
  // 如果不处于拖动状态,则直接返回
  if (!isDragging) return;
  // 计算div元素的新位置
  const dx = e.clientX - startX;
  const dy = e.clientY - startY;
  const newX = initialX + dx;
  const newY = initialY + dy;
  // 将div元素移到新位置
  div.style.left = newX + 'px';
  div.style.top = newY + 'px';
});
// 鼠标松开事件监听器
document.addEventListener('mouseup', function() {
  // 将状态设置为非拖动状态
  isDragging = false;
});


//数据获取
var currentUrl = window.location.href;
//console.log(currentUrl);
var id = new URL(currentUrl).searchParams.get("id");
//console.log(id);
if(id){
    var apiUrl = "https://api.paugram.com/netease/?id=" + id;
    GM_xmlhttpRequest({
        method: "GET",
        url: apiUrl,
        onload: function(response) {
            var json = JSON.parse(response.responseText);
            title = json.title;
            url = json.link;
           // console.log(title,url);
            span.textContent = title;
audio.src =url;
        }
    });}