// ==UserScript== // @resource bgmlist http://bgmlist.com/json/bangumi-1607.json // @name Bangumi Bgmlist Integrator // @description 将你的"在看"与 bgmlist.com 的放送数据优雅整合! // @namespace bangumi.scripts.prevails.bgmlistintegrator // @version 1.0.0s1607 // @author "Donuts." // @require https://code.jquery.com/jquery-2.2.4.min.js // @include /^https?:\/\/(bgm\.tv|bangumi\.tv|chii\.in)\/$/ // @grant GM_getResourceText // @grant GM_addStyle // @downloadURL none // ==/UserScript== const TIME_ZONE = 'CN'; // valid value: 'CN', 'JP' // if not login, exit if (!document.getElementById('badgeUserPanel')) { return; } const NOW = new Date(); const WEEK_DAY = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', ]; const origin = JSON.parse(GM_getResourceText('bgmlist')); const bgmlist = {}; for (let i in origin) { // create index on bgmId bgmlist[origin[i].bgmId] = origin[i]; } class Bangumi { constructor(id, a) { this.id = Number(id); this.bgm = bgmlist[this.id]; this.a = a; } get$Html() { const $re = $(this.a).clone(); $re.find('img').removeAttr('class'); $re.find('span').remove(); $re.attr('title', this.bgm.titleCN + '\n' + this.bgm.titleJP); $re.data('onAirSite', this.bgm.onAirSite); return $re; } } const myBangumis = $('#prgSubjectList > [subject_type=2] > .thumbTip') .toArray().map(i => new Bangumi(i.getAttribute('subject_id'), i)).filter(i => i.bgm); $('.week:eq(1)').remove(); $('.week').data('date', NOW); for (let i = 1; i < 7; i++) { const day = WEEK_DAY[(NOW.getDay() - i) % 7]; const html = `
${day}