您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Изменённый плеер в верхнем меню для ВК
// ==UserScript== // @date 3.10.2023 // @name CustomMediaPlayerVK // @namespace https://github.com/UTINKA/CustomMediaPlayerVK/ // @version 1.5 // @description Изменённый плеер в верхнем меню для ВК // @author UTINKA // @include https://vk.com/* // @icon // @homepage https://gf.qytechs.cn/ru/scripts/376022-custommediaplayervk // @supportURL // @grant none // @require http://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.8/download.min.js // @run-at document-end // ==/UserScript== (function() { var CMP = [], SettingsAdd = false, AnimTimerState = false, AnimTimer = undefined, CMPlayerVK = '0,0' ; var main_box = $('#top_audio_player'); function Start() { var mObserver = new MutationObserver(function(m) { m.forEach(function(m) { CMPUpdate(); if(getMem('CMPlayerVK') == false) { setMem('CMPlayerVK','0,0'); CMPlayerVK = CMPlayerVK.split(','); } else { CMPlayerVK = getMem('CMPlayerVK').split(','); if(CMPlayerVK[0] == 1) { CMPVKsetState(true); } else CMPVKsetState(false); // if(CMPlayerVK[1] == 1) { $('.top_audio_player').css('top','-50px'); } else $('.top_audio_player').css('top','0'); } if(AnimTimerState == false) { AnimTimerState = true; Animates(); } var sbox = $('.settings_panel'); if(location.href.search(/settings/) > 1 && location.href.search(/act/) == -1) { if(SettingsAdd == false) { SettingsAdd = true; // var Used, Hided ; if(CMPlayerVK[0] == 0) Used = '<input class="blind_label" type="checkbox" id="settings_cmpvk_state">'; else if(CMPlayerVK[0] == 1) Used = '<input checked class="blind_label" type="checkbox" id="settings_cmpvk_state">'; if(CMPlayerVK[1] == 0) Hided = '<input class="blind_label" type="checkbox" id="settings_cmpvk_player">'; else if(CMPlayerVK[1] == 1) Hided = '<input checked class="blind_label" type="checkbox" id="settings_cmpvk_player">'; // sbox.prepend('\ <div class="settings_line">\ <div class="settings_info_block">\ <div class="settings_label">Custom Media Player</br>Настройки</div>\ <div class="settings_labeled_text">\ <!--div class="settings_menu_link"></div-->\ <div class="settings_narrow_row">\ ' + Used + '\ <label for="settings_cmpvk_state">Использовать плеер</label>\ </div>\ <div class="settings_narrow_row">\ ' + Hided + '\ <label for="settings_cmpvk_player">Скрыть плеер</label>\ </div>\ </div>\ </div>\ </div>\ '); $('#settings_cmpvk_state').change(function(e) { var state = $(this).prop("checked"); if(state == true) { CMPlayerVK[0] = 1; CMPVKsetState(true); } else { CMPlayerVK[0] = 0; CMPVKsetState(false); } UpdateSettings(); }); $('#settings_cmpvk_player').change(function(e) { var state = $(this).prop("checked"); if(state == true) { CMPlayerVK[1] = 1; $('.top_audio_player').css('top','-50px'); } else { CMPlayerVK[1] = 0; $('.top_audio_player').css('top','0'); } UpdateSettings(); }); } } else { SettingsAdd = false; } }); }); mObserver.observe(document.documentElement, { attributes: true, characterData: true, childList: true, subtree: true, attributeOldValue: true, characterDataOldValue: true }); } function CMPVKsetState(state) { if(state == false) { main_box.css({ 'width': 'unset', 'padding': '0 20px 0 8px' }); // main_box.find('.top_audio_player_img').css('display','none'); // prev main_box.find('.top_audio_player_prev').css({ 'position': 'relative', 'top': 'unset', 'bottom': 'unset', 'left': 'unset', 'margin': '0', 'filter': 'grayscale(0) brightness(100%)' }); // play/pause main_box.find('.top_audio_player_play').css({ 'position': 'relative', 'top': 'unset', 'bottom': 'unset', 'left': 'unset', 'margin': '0', 'filter': 'grayscale(0) brightness(100%)' }); // next main_box.find('.top_audio_player_next').css({ 'position': 'relative', 'top': 'unset', 'bottom': 'unset', 'left': 'unset', 'margin': '0', 'filter': 'grayscale(0) brightness(100%)' }); // main_box.find('.top_audio_player_title_wrap').css({ 'position': 'relative', 'top': 'unset', 'left': 'unset', 'right': 'unset', 'bottom': 'unset', 'height': '24px', 'margin': '0' }); main_box.find('.top_audio_player_title').css('display','inline-block'); main_box.find('.top_audio_player_cmp_author').css('display','none'); main_box.find('.top_audio_player_cmp_name').css('display','none'); main_box.find('.top_audio_player_img_bg_cover').css('opacity', '0'); main_box.find('.top_audio_player_img_bg').css('display','none').css('opacity', '0'); } else { main_box.css({ 'width':'100%', 'padding':'0' }); // main_box.find('.top_audio_player_img').css('display','block'); // prev main_box.find('.top_audio_player_prev').css({ 'position': 'absolute', 'top': '0px', 'bottom': '0px', 'left': '60px', 'filter': 'grayscale(1) brightness(1000%)', 'z-index': '3' }); // play/pause main_box.find('.top_audio_player_play').css({ 'position': 'absolute', 'top': '0px', 'bottom': '0px', 'left': 'calc(60px + (60px / 2))', 'filter': 'grayscale(1) brightness(1000%)', 'z-index': '3' }); // next main_box.find('.top_audio_player_next').css({ 'position': 'absolute', 'top': '0px', 'bottom': '0px', 'left': 'calc(60px + 60px)', 'filter': 'grayscale(1) brightness(1000%)', 'z-index': '3' }); // main_box.find('.top_audio_player_title_wrap').css({ 'position': 'absolute', 'left': 'calc(24px*3 + 48px + 10px*3)', 'top': '0', 'right': '0', 'bottom': '0', 'height': '100%', 'margin': '0' }); main_box.find('.top_audio_player_title').css('display','none'); main_box.find('.top_audio_player_cmp_author').css('display','unset'); main_box.find('.top_audio_player_cmp_name').css('display','unset'); main_box.find('.top_audio_player_img_bg_cover').css('opacity', '1'); main_box.find('.top_audio_player_img_bg').css('display','block').css('opacity', '1'); } } // css var CMP_CSS = '\ <style>\ \ @import url(https://fonts.googleapis.com/css?family=Material+Icons);\ \ .top_audio_player.top_audio_player_enabled{\ position: relative;\ width: 100%;\ }\ \ .top_audio_player_img{\ display: block;\ width: 48px;\ height: 48px;\ background-color: rgba(0,0,0,0);\ background-image: url(/images/audio_row_placeholder.png);\ background-repeat: no-repeat;\ background-size: cover;\ z-index: 2;\ transition: 0.5s;\ }\ .top_audio_player_img_bg_cover{\ display: block;\ width: 100%;\ height: 100%;\ z-index: 1;\ position: absolute;\ background: rgb(0 0 0 / 10%);\ }\ .top_audio_player_img_bg{\ background-image: url(/images/audio_row_placeholder.png);\ background-size: cover;\ background-position-x: 0px;\ background-position-y: 0px;\ display: block;\ position: absolute;\ width: 400px;\ height: 160px;\ z-index: 0;\ filter: blur(15px);\ transition: 3s;\ }\ .top_audio_player_cmp_author{\ opacity: 0;\ position: absolute;\ top: calc(48px / 2 + 2px);\ left: 5px;\ right: 0;\ bottom: 0;\ overflow: hidden;\ white-space: nowrap;\ text-overflow: ellipsis;\ cursor: pointer;\ color: rgb(255 255 255);\ font-weight: bold;\ z-index: 2;\ transition: 0.2s;\ }\ .top_audio_player_cmp_name{\ opacity: 0;\ position: absolute;\ top: calc(48px / 2 - 15px);\ left: 5px;\ right: 0;\ bottom: 0;\ overflow: hidden;\ white-space: nowrap;\ text-overflow: ellipsis;\ cursor: pointer;\ color: rgb(255 255 255);\ font-weight: bold;\ z-index: 2;\ transition: 0.2s;\ }\ .top_audio_player_download_state{\ opacity: 1;\ display: block;\ position: absolute;\ left: 0;\ bottom: 0;\ height: 4px;\ width: 0%;\ background: #2787f5;\ transition: 0.5s;\ }\ .top_audio_player_download{\ width: 48px;\ height: 48px;\ background: rgb(0 0 0 / 0%);\ display: block;\ transition: 0.5s;\ }\ .top_audio_player_download:hover{\ width: 48px;\ height: 48px;\ background: rgb(0 0 0 / 50%);\ display: block;\ }\ .top_audio_player_download i{\ padding: 12px;\ transform: scale(0);\ transition: 0.5s;\ user-select: none;\ pointer-events: none;\ }\ .top_audio_player_download:hover i{\ transform: scale(1);\ }\ </style>'; window.addEventListener('load',function() { main_box.find('.top_audio_player_title_wrap').append('\ <div class="top_audio_player_cmp_author"></div>\ <div class="top_audio_player_cmp_name"></div>\ '); main_box.append('\ <div class="top_audio_player_img">\ <!--a class="top_audio_player_download"><i class="material-icons">play_for_work</i></a-->\ </div>\ <div class="top_audio_player_img_bg_cover"></div>\ <div class="top_audio_player_img_bg"></div>\ <div class="top_audio_player_download_state">\ </div>\ ' + CMP_CSS); // Start(); }); CMP[1] = 0; CMP[2] = ''; function Animates() { clearTimeout(AnimTimer); var X = RandXY(30, 20, 0, 100)[0]; var Y = RandXY(20, 30, 0, 150)[1]; CMP[0] = getAudioPlayer()._currentAudio; if(CMP[0] != false) { main_box.find('.top_audio_player_img_bg').css('background-position-x', X + 'px'); main_box.find('.top_audio_player_img_bg').css('background-position-y', Y + 'px'); } AnimTimer = setTimeout(function() { Animates(); }, 2000); } function getMem(key) { var memory = localStorage.getItem(key); if(memory != null && memory != undefined && memory != 'null' && memory.length != 0) return memory; else return false; } function setMem(key, value) { return localStorage.setItem(key, value); } function UpdateSettings() { var settings = CMPlayerVK[0] + ',' + CMPlayerVK[1]; setMem('CMPlayerVK', settings); } function RandXY(X, Y, Min, Max) { var result = [0,0]; var X = Math.floor(Math.random() * ((X - Max) - Min) ) + Min; var Y = Math.floor(Math.random() * ((Y - Max) - Min) ) + Min; if(X != Y) result = [X,Y]; else result = [0,0]; return result; } function CMPUpdate() { CMP[0] = getAudioPlayer()._currentAudio; if(CMP[0] != false) { var check_track = CMP[0][4] + '_' + CMP[0][3]; if(CMP[2] == '' || CMP[2] != check_track) { main_box.find('.top_audio_player_cmp_author').css({ 'opacity': '0', 'transform': 'translateY(-35px)' }); main_box.find('.top_audio_player_cmp_name').css({ 'opacity': '0', 'transform': 'translateY(-25px)' }); // if(CMP[0][14].split(',')[1] != undefined) { main_box.find('.top_audio_player_img').css('background-image', 'url(' + CMP[0][14].split(',')[1] + ')'); main_box.find('.top_audio_player_img_bg').css('background-image', 'url(' + CMP[0][14].split(',')[1] + ')'); } else { main_box.find('.top_audio_player_img').css('background-image', 'url(/images/audio_row_placeholder.png)'); main_box.find('.top_audio_player_img_bg').css('background-image', 'url(/images/audio_row_placeholder.png)'); } CMP[2] = check_track; // clearTimeout(CMP[3]); CMP[3] = setTimeout(function() { main_box.find('.top_audio_player_cmp_author').css({ 'opacity': '0', 'transform': 'translateY(35px)' }); main_box.find('.top_audio_player_cmp_name').css({ 'opacity': '0', 'transform': 'translateY(25px)' }); // clearTimeout(CMP[3]); CMP[3] = setTimeout(function() { main_box.find('.top_audio_player_cmp_author').html(CMP[0][4]); // author main_box.find('.top_audio_player_cmp_name').html(CMP[0][3]); // music name // var download_name = main_box.find('.top_audio_player_cmp_author').text() + ' - ' + main_box.find('.top_audio_player_cmp_name').text(); main_box.find('.top_audio_player_download').attr('title','Скачать ' + download_name).attr('aName', download_name); // main_box.find('.top_audio_player_cmp_author').css({ 'opacity': '1', 'transform': 'translateY(0px)' }); main_box.find('.top_audio_player_cmp_name').css({ 'opacity': '1', 'transform': 'translateY(0px)' }); }, 100); }, 100); } } } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址