微件:SaltOutsideMusicLoader:修订间差异

添加734字节 、​ 2022年7月24日 (星期日)
使用TS重写,开源在 github.com/mcbbs-wiki/mcbbs-wiki-widget-repo
(创建页面,内容为“<includeonly><script defer> (function () { for (let d of Array.from(document.querySelectorAll('div[class*="163outchain"]'))) { let data = (d.textContent.…”)
 
(使用TS重写,开源在 github.com/mcbbs-wiki/mcbbs-wiki-widget-repo)
 
(未显示同一用户的2个中间版本)
<noinclude>{{网易云音乐|552194857|宽=100%}}</noinclude><includeonly><script defer>
// 许可证:CC BY-NC-SA 4.0 必须注明代码原作者 Salt_lovely ,保留这段注释,并声明搬运自 “MCBBS Wiki” ,声明时不接受任何形式的简称、昵称,必须链接回本页面。
(function () {
// 修改后的代码必须以同样的许可证公布
for (let d of Array.from(document.querySelectorAll('div[class*="163outchain"]'))) {
// 若许可证冲突,或无法接受以上条款,你可以选择不搬运
let data = (d.textContent.split('SPLIT'))
"use strict";
if (!isNumber(data) || data.length < 4) {
(() => {
d.innerHTML = '<span style="color:crimson"><b><big>163外链加载器:参数错误</big></b></span>'
// src/utils/utils.ts
continue
( function docReady(fn) {
}
if (document.readyState === "loading") {
let src = '//music.163.com/outchain/player?type=2&id=' + parseInt(data[0]) + '&auto=' + parseInt(data[3]) + '&height=' + parseInt(data[2])
window.addEventListener("DOMContentLoaded", fn);
console.log(src)
} else {
let embed = document.createElement('embed')
embed.width = data[1]fn();
embed.height = parseInt(data[2]) + 20
embed.src = src
d.replaceWith(embed)
}
}
 
// widget/SaltOutsideMusicLoader/widget.ts
docReady(() => {
for (letconst d of Array.from(document.querySelectorAll('div[class*="163outchain"]'))) {
letconst data = (d.textContent || "").split('"SPLIT')");
if (!isNumber(data) || data.length < 4) {
d.innerHTML = '<span style="color:crimson"><b><big>163外链加载器:参数错误</big></b></span>';
continue;
}
letconst src = '"//music.163.com/outchain/player?type=2&id='" + parseInt(data[0]) + '"&auto='" + parseInt(data[3]) + '"&height='" + parseInt(data[2]);
console.log("网易云音乐加载器", src);
letconst embed = document.createElement('"embed'");
embed.width = data[1];
embed.height = `${parseInt(data[2]) + 20}`;
embed.src = src;
d.replaceWith(embed);
}
//! 是否可以用parseInt传化为数字
function isNumber(num) {
if (typeof num == '"string'")
return !isNaN(parseInt(num));
if (num instanceof Array) {
for (const n of num)
if (isNaN(parseInt(n)))
return false;
return true}
return true;
}
})();
})();
</script></includeonly>