// ==UserScript== // @name bilibili直播自定义皮肤背景 // @namespace bilibili- ( ゜- ゜)つロ 乾杯~ // @version 0.9.1 // @description 自定义bilibili直播的皮肤和背景,仅自己可见! // @author HCLonely // @include /^https?:\/\/live.bilibili.com\/[\d]+/ // @grant GM_addStyle // @grant GM_xmlhttpRequest // @grant GM_setClipboard // @grant GM_setValue // @grant GM_getValue // @grant GM_openInTab // @grant GM_log // @grant GM_registerMenuCommand // @require https://greasyfork.org/scripts/379868-jquery-not/code/jQuery%20not%20$.js?version=710109 // @run-at document-end // @downloadURL none // ==/UserScript== (function() { 'use strict'; const backgroundImage=[ 'background', { 'id':1, 'title':'纯色背景', }, { 'id':2, 'title':'自定义背景', }, { 'id':3, 'title':'默认背景①', 'url':'http://static.hdslb.com/live-static/images/bg/1.jpg' }, { 'id':4, 'title':'默认背景②', 'url':'http://static.hdslb.com/live-static/images/bg/2.jpg' }, { 'id':5, 'title':'默认背景③', 'url':'http://static.hdslb.com/live-static/images/bg/3.jpg' }, { 'id':6, 'title':'默认背景④', 'url':'http://static.hdslb.com/live-static/images/bg/4.jpg' }, { 'id':7, 'title':'默认背景⑤', 'url':'http://static.hdslb.com/live-static/images/bg/5.jpg' }, { 'id':8, 'title':'默认背景⑥', 'url':'http://static.hdslb.com/live-static/images/bg/6.jpg' } ]; const skin=[ 'skin', { 'id':1, 'title':'默认', }, { 'id':2, 'title':'透明', }, { 'id':3, 'title':'绊爱生日会限定', 'color':'rgba(255,42,107,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/a726c844272b59d5873eecd143ba04a69d69322e.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/4534e9eac4804d29b7e9f9a539123ba5fc055a25.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/203a6865172e6588d66aa1922d472e2eed088087.png', }, { 'id':4, 'title':'考试必胜', 'color':'rgba(96,133,182,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/9533eefe82d5009fc81c9f3d04666f65d067d555.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/eeb5d11ed37356fda16540ee8c7edadfe5804688.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/056f183b2799ed7de1c0a5e2a595e97a03569727.png', }, { 'id':5, 'title':'音之守护者', 'color':'rgba(255,192,0,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/8680817d5366d9144da1730dd01160839e2b36dc.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/adcd9a387b39c197759d249bef6d54595d7f729b.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/6155e1b255aa88c4ff44c0176fabc142876ae3a8.png', }, { 'id':6, 'title':'周星X计划', 'color':'rgba(255,192,0,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/2ebabc30b955845194a1c3b157b9d3328694bc2c.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/bec62333b155bb844ab9d12357d27813b971d84c.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/48b3f9393a14736fdbfe5a88d8696dea8e77aa9d.png', }, { 'id':7, 'title':'PUBG开黑周', 'color':'#fff|#9f9f9f', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/e8d75396147ab147456f6255586e0e4d5b374de0.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/9cc834640ce7e4e42d6728fd1d35f3cc81cfb3d5.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/fc2eb4197a09bb6f191b2b2002080b9e595ca134.png', }, { 'id':8, 'title':'【勇者】机甲大作战', 'color':'', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/ccb8b312bd327207b6d89c5f4f7cbfff0eec6d75.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/22d4e53a2119b594740ff3dd2dcf90257ef6975a.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/ae655c8ffbc7b6e29a2059a4cd2b9c8648d4a058.png', }, { 'id':9, 'title':'【史诗】机甲大作战', 'color':'rgba(255,255,255,1)|rgba(226,189,255,1)|rgba(226,189,255,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/d30ca472228c961da403babe7f3d4b1677527a26.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/2d8504f44ed1280d2f39ae107088284e0345ea5c.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/5b45fa64c5588e7aa67ef3fd1bb3daa2d599b1e2.png', }, { 'id':10, 'title':'【传说】机甲大作战', 'color':'rgba(255,255,255,1)|rgba(255,212,115,1)|rgba(255,212,115,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/675a47293ee7c18da391330cb87d807ac05cc5f3.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/06cdb8806b3299bf6e964559279c1488155895a8.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/971edddb6f78e5ca3611fc2d1c8e6fa58c369b59.png', }, { 'id':11, 'title':'Star萌星皮肤', 'color':'rgba(255,255,255,1)|rgba(178,126,255,1)|rgba(199,158,255,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/76338bb3b82ed0c16c69e589fb6a3ff8468a2407.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/eed5aac50e8b8b97248417a410a4a088ed224bdb.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/90c70d98a5c87f7d13af6e88dedd88a52ca82854.png', }, { 'id':12, 'title':'星之耀', 'color':'rgba(255,255,255,1)|rgba(173,200,255,1)|rgba(173,200,255,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/2ebabc30b955845194a1c3b157b9d3328694bc2c.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/bec62333b155bb844ab9d12357d27813b971d84c.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/48b3f9393a14736fdbfe5a88d8696dea8e77aa9d.png', }, { 'id':13, 'title':'冰火合战Ⅱ', 'color':'rgba(255,255,255,1)|rgba(0,158,255,0.5)|rgba(54,125,254,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/89887e3fb04461509c852735de603d80bbf1fb5c.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/b4dab38d40d158b8292eb7967d585be56554beb7.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/2410a855b196b84cd0ccea84419157236f89f9d3.png', }, { 'id':14, 'title':'夏日物语', 'color':'rgba(255,255,255,1)|rgba(173,200,255,1)|rgba(173,200,255,1)', 'liveSkinTop':'https://i0.hdslb.com/bfs/live/roomSkin/57e38dfca25a43e92a17b5cac2661ac6173855e1.png', 'liveSkinBottom':'https://i0.hdslb.com/bfs/live/roomSkin/04a45367d4978007dda68b0bb0b010cd9750de66.png', 'chatSkin':'https://i0.hdslb.com/bfs/live/roomSkin/2cc2da44edc9b6a463ddeaa6561a4eb9befb20fd.png', }, ]; const skinClass=['#head-info-vm','#gift-control-vm','#rank-list-ctnr-box','.chat-history-panel','#chat-control-panel-vm']; const txtClass=['.room-title .live-skin-main-text','.live-skin-normal-a-text','#gift-control-vm .live-skin-main-text','#rank-list-vm .live-skin-main-text','#rank-list-vm .live-skin-normal-text','.danmaku-content']; $jq('body').append(`
`); let sideBarLeft=$jq('[name="sideBarLeft"]'); let settingDiv=$jq('[name="settingDiv"]'); let settingH2=$jq('[name="settingH2"]'); let settingInfoDiv=$jq('[name="settingInfoDiv"]'); let closeBtn=$jq('[name="closeBtn"]'); let backgroundDiv=$jq('[name="backgroundDiv"]'); let hideDiv=$jq('[name="hideDiv"]'); let skinDiv=$jq('[name="skinDiv"]'); let saveBtn=$jq('.save-button'); let skinBtn=$jq('.skin-btn'); let skinInfo=$jq('.skin-info'); let biInfo=set_info(backgroundImage); let skInfo=set_info(skin); closeBtn.click(()=>{ settingDiv.hide(); }); backgroundDiv.click(()=>{ if(settingInfoDiv.attr('data-tag')=='bg'&&settingDiv.css('display')=='none'){ settingDiv.show(); }else if(settingInfoDiv.attr('data-tag')=='bg'){ settingDiv.hide(); }else{ settingInfoDiv.attr('data-tag','bg') settingH2.text('更换背景'); settingInfoDiv.html(biInfo); $jq('.background-select').click(function(){ set_background($jq(this).attr('data-background-id')); }); skinInfo.hide(); settingDiv.show(); } }); skinDiv.click(()=>{ if(settingInfoDiv.attr('data-tag')=='skin'&&settingDiv.css('display')=='none'){ settingDiv.show(); settingDiv.show(); }else if(settingInfoDiv.attr('data-tag')=='skin'){ settingDiv.show(); settingDiv.hide(); }else{ settingInfoDiv.attr('data-tag','skin') settingH2.text('更换皮肤'); settingInfoDiv.html(''); $jq('.color-info').hide(); $jq('.url-info').hide(); $jq('select.skin').change(function(){ set_skin($jq(this).find('option:selected').val()); }); skinInfo.show(); settingDiv.show(); } }); hideDiv.click(()=>{ sideBarLeft.hide(); }); saveBtn.click(()=>{ let cache=get_setting(); GM_setValue('mySetting',cache); alert('保存成功!'); }); skinBtn.click(function(){ let dataClass=$(this).attr('data-class'); if(dataClass=='5'){ set_txt($(this).prev().val()); }else{ set_every_skin($(this).prev().val(),skinClass[dataClass]); } }); let change=setInterval(()=>{ let prevSetting=GM_getValue('mySetting'); let nowSetting=get_setting(); for(let i=0;i${e[i].title}