Greasy Fork

Greasy Fork is available in English.

网页版酷狗音乐下载

网页版酷狗音乐下载,目前仅支持普通音质,可下载vip音乐

当前为 2024-05-22 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         网页版酷狗音乐下载
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  网页版酷狗音乐下载,目前仅支持普通音质,可下载vip音乐
// @author       Xie
// @match        *://www.kugou.com/**
// @license      使用说明:请看下方描述
// @icon         data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAADkhB4A5IQeWuSEHtjkhB7/5IQe/+SEHv/khB7/5IQe/+SEHv/khB7/5IQe/+SEHv/khB7/5IQe2OSEHlvkhB4A5IQeW+SEHv/khB7/5IQe/+SEHv/khB7Y5IQeh+SEHlvkhB5b5IQehuSEHtXkhB7/5IQe/+SEHv/khB7/5IQeW+SEHtXkhB7/5IQe/+SEHu/khB5c5IQeR+SEHqPkhB7R5IQe0uSEHqTkhB5H5IQeW+SEHu3khB7/5IQe/+SEHtTkhB775IQe/+SEHvTkhB455IQeqOSEHv/khB7/5IQe/+SEHv/khB7/5IQe/+SEHqzkhB445IQe8OSEHv/khB775IQe/+SEHv/khB5e5IQep+SEHv/khB7S5IQe2+SEHv/khB775IQezOSEHs/khB7/5IQeq+SEHlfkhB7/5IQe/+SEHv/khB7Y5IQeROSEHv/khB7/5IQeMeSEHjvkhB7/5IQeguSEHgDkhB6D5IQe/+SEHv/khB5G5IQe2OSEHv/khB7/5IQeiuSEHp/khB7/5IQe/+SEHknkhB4h5IQezeSEHgXkhB5I5IQe/eSEHv/khB7/5IQepOSEHorkhB7/5IQe/+SEHmLkhB7L5IQe/+SEHv/khB5j5IQeBuSEHjjkhB4V5IQe6+SEHv/khB7/5IQe/+SEHs7khB5j5IQe/+SEHv/khB5i5IQeyuSEHv/khB7/5IQefuSEHgDkhB4X5IQeHeSEHu7khB7/5IQe/+SEHv/khB7N5IQeZOSEHv/khB7/5IQejuSEHp7khB7/5IQe/+SEHpbkhB4A5IQeouSEHhbkhB4x5IQe7OSEHv/khB7/5IQep+SEHorkhB7/5IQe/+SEHtzkhB5C5IQe/+SEHv/khB6u5IQeAOSEHrTkhB7W5IQeGeSEHjDkhB7q5IQe/+SEHkfkhB7Z5IQe/+SEHv/khB7/5IQeY+SEHqXkhB7/5IQe8+SEHszkhB7t5IQe/+SEHunkhB7M5IQe5eSEHqrkhB5d5IQe/+SEHv/khB775IQe/+SEHvDkhB455IQep+SEHv/khB7/5IQe/+SEHv/khB7/5IQe/+SEHqrkhB455IQe8OSEHv/khB765IQe1OSEHv/khB7/5IQe8OSEHl/khB5H5IQeouSEHtDkhB7Q5IQeouSEHkvkhB5b5IQe7+SEHv/khB7/5IQe0+SEHlnkhB7/5IQe/+SEHv/khB7/5IQe2OSEHobkhB5e5IQeXOSEHojkhB7Y5IQe/+SEHv/khB7/5IQe/+SEHlnkhB4A5IQeWuSEHtbkhB7+5IQe/+SEHv/khB7/5IQe/+SEHv/khB7/5IQe/+SEHv/khB7+5IQe1uSEHlrkhB4AgAEAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAgAEAAA==
// @grant        none
// ==/UserScript==
(function() {
  'use strict';

  if (!('speechSynthesis' in window)) {
    throw alert("对不起,您的浏览器不支持")
  }
  setTimeout(function() {
    var audioElement = document.getElementById('myAudio');
    if (!audioElement) {
      console.log('没用找到音频元素,无法下载')
      return;
    }

// 检查是否存在 id 为 "downloadLink" 的元素,如果存在则删除
    var existingDownloadLink = document.getElementById('downloadLink');
    if (existingDownloadLink) {
      existingDownloadLink.parentNode.removeChild(existingDownloadLink);
    }


    // 创建一个新的div元素
    let floatingDiv = document.createElement("div");
    floatingDiv.innerHTML = `
<div class="xie-floating-div">
  <div id="downloadLink">

  </div>

<style>
  #downloadLink {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    cursor: pointer;
    z-index: 99999;
    border: 1px solid #fff;
    background-color: #8d332c;
  }

  #downloadLink:hover {
    filter: brightness(1.5); /* 改变亮度以更改整个SVG的颜色 */
    transition: filter 0.3s; /* 添加过渡效果 */
  }
</style>

`;
    document.body.appendChild(floatingDiv);


    // 获得音频下载地址
    var audioSource = audioElement.src;

    // 获取音频文件名
    var nameEle = document.querySelector('#songName');
    if (!nameEle) {
      nameEle = document.querySelector('.audioName');
    }
    var songNameText = (nameEle ? nameEle.textContent : '未知') + '.mp3';

    const downloadLink = document.getElementById("downloadLink");
// 设置 <div> 标签的文本内容
    downloadLink.textContent = "点击下载:" + songNameText;
    console.log("下载地址:", audioSource)
    console.log("文件名称:", songNameText)

    downloadLink.addEventListener('click', function (event) {
      downFile(audioSource, songNameText)
    });

    function downFile(url, name) {
      // 创建一个 XMLHttpRequest 对象
      var xhr = new XMLHttpRequest();

      // 监听 XMLHttpRequest 的 readyState 属性的变化
      xhr.onreadystatechange = function () {
        // 当 readyState 变为 4 且状态码为 200 时表示请求成功
        if (xhr.readyState === 4 && xhr.status === 200) {
          // 获取服务器响应的数据
          var responseData = xhr.response;

          // 创建一个新的 <a> 标签用于下载
          var aEle = document.createElement('a');
          aEle.href = window.URL.createObjectURL(responseData);
          aEle.download = name; // 设置文件名
          document.body.appendChild(aEle);

          // 触发点击事件,开始下载文件
          aEle.click();

          // 下载完成后移除链接元素
          document.body.removeChild(aEle);
        }
      };

      // 发送 HTTP GET 请求
      xhr.open('GET', url, true);
      xhr.responseType = 'blob'; // 设置响应类型为 blob
      xhr.send();
    }

  }, 2000);
})();