微件:SaltOutsideMusicLoader:修订间差异

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