JS不跨域操控网易云音乐外链播放器

【Electron+Vue】【一】开发跨平台桌面应用了解+构建 目录 基础综合介绍: 环境搭建: 安装Electron Electron应用程序分成三个基础模块:主进程、进程间通信和渲染进程。 【主进程】 【渲染进程】 【主进程与渲染进程通信】 src目录结构 main目录 渲染进程 qq音乐播放器 网易云音乐 其他基于 ELECTRON-VUE 的作品 基础综合介绍: 虽然B/S是目前开发的主流,但是C/S仍然有很大的市场需求。受限于浏览器的沙盒限制,网页应用无法满足某些场景下的使用需求,而桌面应用可以读写本地文件、调用更多系统资源,.. 阅读详情

JS不跨域操控网易云音乐外链播放器

今天写个人网站,用到了背景音乐。
一开始想使用H5的audio标签,蛮成功的,但是传到服务器上后加载缓慢(腾讯云服务器学生优惠版,最低的配置),体验很差。

使用外链播放器

因此自然而然想到了外链,去看了网易云音乐,网站上可以生成外链播放器!瞬间高兴,网易云的加载速度是很快的,终于可以脱离乌龟一样的加载速度了。

首先把想要的背景音乐加入歌单,然后生成外链播放器

外链播放器

复制代码,把这个iframe粘贴进html,使用CSS将其隐藏

iframe {
    display: none;
}

事实证明效果很棒,几乎瞬间就能加载并播放了。
可是这样就没法显示歌名了,而且无法切歌。网易云白色的播放器界面又和我的网站很不搭,并且我自己写了播放控件。

想通过js操作iframe,发现,果然不能跨域。
于是我又陷入了沉思。

JS不跨域操控网易云音乐外链播放器

这次放弃了歌单,从单曲页重新生成了一个外链播放器。
仔细观察了一下iframe的地址。

http://music.163.com/outchain/player?type=2&id=32717169&auto=1&height=32

发现其中有个id是歌曲的id!
观察网易云音乐单曲页的url,发现

http://music.163.com/#/song?id=22688487

是不是发现了什么,嘿嘿。试了一下,换了id就会自动切到相应的歌曲。
我们只需要对id下手,就可以操纵外链播放器切歌了。

批量获取去歌曲名和id

首先把要添加的背景音乐放入一个歌单里,接着进入歌单页,F12,切换到console。

var eles = window.frames["contentFrame"].document.querySelectorAll('a b');
var eleStr = "";
for (var i = 0; i < eles.length; i++) {
    var name = eles[i].textContent;
    var id = eles[i].parentNode.getAttribute('href').split('=')[1];
    eleStr += "{name: '" + name + "', id: '" + id + "'}, \n";
}
eleStr

将这段代码粘上去并执行,得到的是如下结果

“{name: ‘そして仆は途方に暮れる’, id: ‘22822501’}, {name: ‘Will (Piano)’, id:
‘26142087’}, {name: ‘1967’, id: ‘757567’}, {name: ‘風見鶏’, id:
‘22688487’}, {name: ‘美丘 -MAIN THEME-‘, id: ‘452424’}, {name: ‘ONE’,
id: ‘22688371’}, {name: ‘ユーフォリア’, id: ‘29463838’}, {name: ‘あの橋を渡ろう’,
id: ‘26214171’}, {name: ‘紅い瞳に映るセカイ(Arrange ver.)’, id: ‘28556040’},
{name: ‘Hello Mr. Christmas’, id: ‘5330974’}, {name: ‘S-WILL’, id:
‘27890719’}, {name: ‘“冬のソナタ”~初めから今まで’, id: ‘625568’}, {name:
‘Moonrise….Moonset feat.Chieko Kinbara’, id: ‘22800602’}, {name:
‘FEEL ME’, id: ‘499186’}, {name: ‘Itsuka (Volin Guitar)’, id:
‘26142085’}, {name: ‘light dance - guitar’, id: ‘26115581’}, {name:
‘Fade Away’, id: ‘16846096’}, {name: ‘憂いの夕暮れ’, id: ‘29755170’},
{name: ‘Memories of you’, id: ‘36496671’}, {name: ‘My Soul’, id:
‘5308028’}, {name: ‘Only Wish’, id: ‘5079881’}, {name:
‘The truth that you leave’, id: ‘139774’}, {name: ‘やさしい星座’, id:
‘515270’}, {name: ‘雨のち想い出’, id: ‘515278’}, {name: ‘Ever Eternity’,
id: ‘28941070’}, {name: ‘四月は君の嘘’, id: ‘30245039’}, {name:
‘四月は君の嘘~PianoSolo’, id: ‘30245088’}, {name:
‘No One - Guitar & Strings Quartet version -‘, id: ‘30854798’},
{name: ‘雨霏’, id: ‘32717169’}, {name: ‘2003’, id: ‘524655’}, {name:
‘Sad Cafe’, id: ‘5331446’}, {name: ‘Distance’, id: ‘26450086’},
{name: ‘Wedding Bell’, id: ‘22688493’}, {name: ‘始まり’, id: ‘445683’},
“

没错是以对象的形式,将其放入一个数组叫做songName。
写一个随机数函数random,功能为传入数组,返回数组元素个数内的随机值。
这样我们的“下一首”函数可以这样写

function nextSong() {
    var randomSong = random(songName);
    //播放第randomSong首歌
    var songNameDis = document.querySelector('#bgm');
    //显示歌名的地方
    songNameDis.textContent = songName[randomSong].name;
    //显示歌名
    var songSrc = "http://music.163.com/outchain/player?type=2&id=" + songName[randomSong].id + "&auto=1&height=32"
    //组装要播放的歌曲的相应iframe的url
    document.querySelector('iframe').setAttribute('src', songSrc);
    //修改该url
}

这样即可实现播放下一首。
上一首同理,写个栈即可。
只要有了id,通过这种方法,我么可以对外链播放器进行随意的操作。

网易云音乐外链播放器获取与嵌入全攻略:从原理到实战 在Web开发与内容创作中,实现第三方内容的无缝嵌入是提升用户体验的关键技术之一。其核心原理通常涉及通过iframe、API接口或开放平台协议,将外部资源以组件化形式整合到自有页面中。这项技术的价值在于能够打破平台壁垒,丰富站点内容形态,同时保持服务的稳定与合规性。在音乐内容集成这一典型应用场景下,如何合法获取并嵌入流媒体歌单成为许多开发者和博主的实际需求。本文聚焦于网易云音乐,深入解析其官方外链播放器的生成机制与参数配置,并针对常见的跨域限制、移动端自动播放策略及版权问题提供详尽的解决方案。通过理解外链的本 阅读详情

相关推荐

手把手教你用iframe打造个性化音乐页面:网易云外链的进阶玩法

本文详细介绍了如何利用网易云音乐的iframe外链,通过前端技术打造个性化音乐页面。从基础嵌入、CSS视觉定制到监听交互与高级布局融合,手把手教你突破默认样式,实现播放器与网站设计的无缝结合,并提供了完整的实战案例代码。

7z8x2c4v6b9的博客 525

网易云音乐播放器

1、去百度搜索网易云官网:网易云音乐 (163.com) 2、登录用户 3、找一个自己喜欢的听的歌单 4、然后点击喜欢的歌单进去 5、再点击生成外链播放器 6、跳到新的页面,还出现网易云音乐插件 里面有可以自己选的iframe代码 选个自己喜欢的使用,放到网页就好了 ...

豪先生的博客 1080

仿网易云音乐外链播放器UI的HTML5音乐播放器插件

APlayer是一款仿网易云音乐外链播放器UI的HTML5音乐播放器插件。APlayer音乐播放器可以自定义歌曲封面,可以自定义同步歌词等,界面时尚大方,是一款非常好的HTML5音乐播放器插件。

html 音乐 QQ播放器 外链 代码 播放器 外链 代码

韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha QQ播放器 外链 代码 播放器 外链 代码 ======== 歌曲链接QQ播放器 外链 代码播放器 外链 代码 <EMBED src="音乐url" autostart="true" loop="true" width="80" height="20"> ...

weixin_33775582的博客 3757

告别串口升级!手把手教你为STM32H750的W25Q32制作MDK下载算法(QSPI篇)

本文详细介绍了为STM32H750的W25Q32制作MDK下载算法(QSPI篇)的完整流程,帮助开发者告别低效的串口烧录方式。通过定制下载算法,可实现20倍以上的烧录速度提升,支持完整的调试功能,显著提高开发效率。文章涵盖环境准备、核心算法实现、性能优化及常见问题解决方案,适合嵌入式开发者参考。

weixin_30735745的博客 407

从零构建知识图谱:本体工程与知识建模实战指南

本文是一份从零构建知识图谱的实战指南,重点阐述了知识建模与本体工程的核心地位。文章详细介绍了如何使用Protégé工具进行本体设计,包括定义领域、复用现有本体、构建类层次与属性约束,并讲解了如何利用D2RQ工具将关系数据库数据转换为RDF三元组,最终通过Apache Jena Fuseki搭建SPARQL端点进行知识查询与推理,让知识图谱真正“活”起来。

weixin_29057695的博客 572

我做了一个网易云音乐外链播放器的Vue组件,很nice

起因是我的一个小项目用到了网易云音乐的外链播放器;于是将它从项目里剥离出来做成一个Vue组件;并开源献给网友们。它能使外链播放器很优雅的浮动在页面上,支持鼠标和触摸屏拖动;不占空间支持收缩/展开。对细节方面做的很漂亮,配合Vue可以实现全站无刷新音乐播放功能。需要的朋友拿走,有能力的小伙伴可以尝试将它与VuePress配合服用;一个更优雅的博客就诞生了。

Deng_Xian_Sheng的博客 5596

[WeChatMsg]导出csv格式微信聊天记录的手把手教程

手把手教大家如何导出自己的聊天记录得到csv文件,即使是电脑小白也可以轻松学会o(* ̄▽ ̄*)ブ

weixin_51094633的博客 1万+

H5通过js实现播放m3u8外链video-js

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>videoJs</title> <link href="https://vjs.zencdn.net/7.6.6/video-js.css" rel="stylesheet" /> <!-- If you'd lik

我乃技术小白,欢迎大神交流 3184

Circos在Windows下的安装教程

这里写自定义目录标题Circos简介安装Perl 的安装Circos安装安装及解压安装Modules测试用例官方文档 Circos简介 (来源官网:http://circos.ca/software/readme/ O.INTRODUCTION部分) Circos is a program for the generation of publication-quality, circularly composited renditions of genomic data and related annot

qq_42318911的博客 1662

在abaqus中利用point-based 来快捷定义螺栓连接

abaqus中可以通过point-based方式定义连接点的位置,并对连接方式进行定义,可以进行螺栓连接的模拟。 可以通过逐点输入坐标或导入外部的坐标位置 也可以通过阵列的方式定义点 定义完点后就利用create fasteners,选择point-based,选取刚才创建好的点阵列,然后定义连接的属性,如下图 定义connector section时,类型选择translator,相当于只有1方向可以动,定义弹性模量以及破坏准则。 案例操作 假如有两个板,通过...

fiber_tape的博客 7351

[前端] 网易云音乐外链播放器不能正常显示的问题之解决方案

场景:要在页面中插入这样的一个小插件: 参考网易云音乐提供的<iframe>外链播放器代码,却无法正常显示。 方法极其简单:只要在<iframe>标签的src属性中的//前加上http:或https:就可以了,像这样: <!DOCTYPE html> <html> <head> <meta charset="utf-8...

swordtraveller的博客 9244

标准化降水指数介绍

Mckee et al.(1993)认为降水量的减少是导致干旱的主要因素,其他气候因子一般变化较小,对干旱产生的影响不大,因此SPI使用降水量作为唯一参数。SPI能较好表达因降水量的大小反映干旱状况,操作简单,所需资料仅为降水量,同时该干旱指数在各个地区和各个时段都具有良好的计算稳定性,是继PDSI之后另一种被广泛应用的干旱指数。𝐻(𝑥)是Γ分布求得的概率,并当𝐻(𝑥)>0.5时,S=1;式中,𝛼是形状参数,𝛽是尺度参数,𝑥是当月降水量,𝛤(𝛼)是Gamma函数,用极大似然估计法计算最佳的𝛼和𝛽,即。

weixin_44259522的博客 2857

探索 WangYiYun_Music:一款开源的网易云音乐播放器

探索 WangYiYun_Music:一款开源的网易云音乐播放器 在音乐的世界里,我们寻找的不仅仅是旋律,更是一种体验。而今天,我们要向您推荐一个可以改变听歌方式的开源项目——。这款由 SergioJune 创建的项目,是一个基于 Electron 和 Vue.js 的网易云音乐桌面客户端,它以简洁、高效的界面设计和丰富的功能,为热爱音乐的用户提供了一种全新的听歌选择。 技术剖析 1. 基于 El...

gitblog_00076的博客 702

【DRAM存储器二十六】DDR4介绍-DDR4 SDRAM的主要技术特性之CA Parity、CRC Write date

详述DDR4的CA奇偶检验和写数据CRC校验功能

highman110的博客 1298

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水果识别系统(Python+PySide6界面+训练代码)

本文详细介绍了基于YOLO系列目标检测算法(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8)的水果识别系统的设计与实现。系统采用Python语言开发,结合PySide6构建用户界面,实现了从数据准备、模型训练到部署应用的全流程。本文将提供完整的代码实现、详细的训练过程分析以及性能对比实验,并给出推荐的数据集资源。该系统可以准确识别多种水果类型,为智能农业、自动售货、食品加工等领域提供技术支持。

YOLO 566

JS:自制播放器接入操作系统接口 - Media Session API (可以实现浏览器控制上下首、耳机触控上下首歌曲等)

当我们自制播放器时,和其它大型播放器网站对比就会发现,他们的播放器,可以用操作系统级的控件来操控上下首,而我们做的只能让用户在网页中点击上下首按钮来切歌,如下: 操作系统媒体控件:笔记本电脑的键盘上自带声音控件按钮,点击键盘上的按钮将会在屏幕上显示声音控件。有耳机的还可以用耳机上的触控按钮来切换上下首、手机版的浏览器下拉通知栏也能看到浏览器的音乐控件。这是操作系统级别的操作。下方以戴尔笔记本的声音操作控件为例,对比查看大型播放器和我们的区别。大家也可以用手机浏览器或者耳机尝试。

m0_64130892的博客 777

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

如何用VutronMusic打造极致音乐体验:高颜值网易云第三方播放器全攻略

在数字音乐时代,一款高颜值且功能强大的播放器能让音乐欣赏变得更加愉悦。VutronMusic作为一款开源的第三方网易云音乐播放器,凭借出色的界面设计和丰富功能,成为音乐爱好者的理想选择。它支持本地音乐播放、离线歌单管理、多平台歌词显示,让你随时随地享受高品质音乐体验。 ## ???? 为什么选择VutronMusic?核心优势解析 VutronMusic之所以能从众多音乐播放器中脱颖而出,主要得益...

gitblog_01088的博客 463

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Mirth Connect医疗集成平台:终极指南与快速上手教程

想要轻松连接医院各个系统,实现医疗数据无缝交换吗?Mirth Connect就是你的瑞士军刀!这款开源的医疗集成平台专门解决医疗行业的数据孤岛问题,让HL7、FHIR、DICOM等医疗标准数据在不同系统间自由流动。无论你是医院IT人员、系统集成工程师还是医疗软件开发人员,掌握Mirth Connect都能让你的工作事半功倍! ## 🚀 为什么选择Mirth Connect? ### 医疗集成

gitblog_00630的博客 576

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Listen1桌面版快捷键大全:10个高效操作技巧提升体验

Listen1桌面版作为一款功能强大的免费音乐播放器,支持网易云音乐、QQ音乐、酷狗音乐等多个平台的歌曲播放。掌握快捷键技巧能极大提升你的音乐体验效率,让你在工作和娱乐中快速切换和控制音乐播放。🎵 ## 🎯 全局快捷键操作技巧 Listen1桌面版提供了丰富的全局快捷键功能,让你无需切换窗口即可控制音乐播放: **播放控制快捷键**: - `Ctrl+Alt+Left` 或 `Media

gitblog_00795的博客 429

从NodeJS搭建中间层再谈前后端分离

之前在知道创宇的项目中有用到过nodejs作中间层,当时还不太理解其背后真正的原因;后来在和一位学长交谈的过程中,也了解到蚂蚁金服也在使用类似的方法,使用nodejs作为中间层去请求真实后台的数据;之后人到北京,也见到现在的公司也在往nodejs后端方向靠拢。随着知识的增加,加之自己查阅资料,慢慢总结出了一些原理。 从做微信小程序引发的思考 最近出于爱好,写了个音乐播放器的微信小程序(原本想用...

qq_31965515的博客 598

python的多线程与多进程

1.GIL(Global Interpreter Lock) 在python中,由于GIL(Global Interpreter Lock)全局解释器锁的存在,所以多线程并不是真正意义上的多线程。在 Python 语言的主流实现 CPython 中,GIL 是一个货真价实的全局线程锁,在解释器解释执行任何 Python 代码时,都需要先获得这把锁才行。CPython 进程做为一个整体,同一时间只会...

Im ok的博客哦 225

nodejs中间层前后端分离

之前在知道创宇的项目中有用到过nodejs作中间层,当时还不太理解其背后真正的原因;后来在和一位学长交谈的过程中,也了解到蚂蚁金服也在使用类似的方法,使用nodejs作为中间层去请求真实后台的数据;之后人到北京,也见到现在的公司也在往nodejs后端方向靠拢。随着知识的增加,加之自己查阅资料,慢慢总结出了一些原理。从做微信小程序引发的思考最近出于爱好,写了个音乐播放器的微信小程序(原本想用vue写...

weixin_34337381的博客 146

AI Agent实战:基于OpenClaw与本地LLM构建智能电脑助手

AI Agent(智能体)作为人工智能领域的关键技术,其核心原理在于让大语言模型(LLM)具备理解和执行复杂任务的能力。通过将LLM作为“大脑”进行意图识别与任务规划,并借助技能框架(如OpenClaw)作为“手脚”来调用系统工具,AI Agent实现了从自然语言指令到自动化操作的跨越。这项技术的核心价值在于重塑人机交互范式,将用户从繁琐的手动操作中解放出来,迈向“动口不动手”的智能协同时代。在工程实践中,通过Docker容器化部署可以确保环境的一致性与安全性,而结合Ollama等工具在本地运行开源大模型,

weixin_30787531的博客 400

【Hexo】Next主题添加全局播放翻页不间断的网易云音乐

前言 网页预览:Qxiaofei69.github.io 如果有想入手Hexo博客但没有任何思路,看网上资料一头雾水,推荐B站这个up主的入门教程传送门 一、网易云外链 打开网易云音乐,将喜欢的歌都加入歌单,然后点击生成外链 调整插件的大小,这里建议第二个就可以了,不大不小,然后复制HTML代码 二、插入代码 打开/themes/next/layout/_macro/sidebar.swig文件 在下图位置插入代码刚复制的代码 鉴于每个人侧边栏位置不同,具体效果自行调整 三、修改属性 在Next主题

Q大帅 2200

【实用技巧】下载音乐到本地电脑

1. 打开网易云音乐官网 https://music.163.com/ 2. 搜索目标音乐 以“不再犹豫”为例,在搜索框输入“不再犹豫”后,会自动搜索出相关的音乐,点击打开。 3. 打开网页调试工具 在网页中的空白区域,点击鼠标右键,选择“审核元素” ,打开网页调试工具 切换到【网络】页签 将类型切换为【媒体】 4. 点击“生成外链播放器” 5. 双击媒体中的音频文件打开音频页 6. 在音频页下载音频 点音频播放器右侧的三个点打开下载菜单进行下载 ...

朝阳39的博客 1万+
上一篇: AngularJS下jsonp跨域SyntaxError问题
下一篇: 使用SuperPuTTY实现国资云服务器ssh登录
摩洛哥大神
博客等级 码龄10年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值