Как сделать так, чтобы Vk.com меньше отвлекал от действительно важных дел?
Самый простой способ — удалиться из этой социальной сети, или вообще не создавать там аккаунт, если у вас его ещё нет.
Но что делать тем, у кого вконтакте есть множество «друзей», с которыми больше негде вести переписку?
Или тем, кто пользуется музыкой вконтакте?
Итак, предположим, наша задача: сделать так, чтобы ВКонтакте можно было пользоваться только перепиской с другими пользователями, и музыкой. При этом, в нерабочее время мы хотим использовать все возможности.
Решить задачу поможет пользовательский скрипт, подключаемый с помощью GreasyMonkey/TamperMonkey
Установка скрипта:
1. Установить в браузере плагин для подключения пользовательских скриптов:
Для FireFox это GreaseMonkey
Для Google Chrome и основаных на нём браузерах, не имеющих своего магазина расширений (Chromium, Vivaldi) это TamperMonkey
Для Opera это собственная версия TamperMonkey
2. Скопировать код скрипта здесь: https://github.com/MihanEntalpo/VkMessagingAndAudioOnly/blob/master/script.js
Или прямо здесь:
// ==UserScript== // @name vk.com only messaging // @namespace mihanentalpo.me // @description Allow to use messaging only on vk.com // @include https://vk.com/* // @match https://vk.com/* // @match http://vk.com/* // @version 1 // @grant none // @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js // ==/UserScript== (function(){ window.global_vkscript_is_active = false; window.global_current_href = ''; function every_page_remove() { jQuery('.left_box.attention').remove(); } function detect_move_out(url) { var regtxt = "^https://(new\.)?vk.com/(im|audios?|away|share|login)"; var regexp = new RegExp(regtxt); if (!regexp.test(url)) { window.location.href = "https://vk.com/im"; } } function update_url(url) { if (window.global_current_href != url) { jQuery('#url-box').text('URL:' + url); detect_move_out(url); every_page_remove(); window.global_current_href = url; } } /** * Функция, возвращающая временные переделы работы */ function get_time_limits() { return { // Со скольки начинать блокировать отвлекающий функционал from: "9:30", // До скольки блокировать отвлекающий функционал to: "18:30" }; } /** * Проверить, должена ли сейчас быть активной блокировка? */ function is_active(){ var d = Date.now(); var d1 = new Date(d); var d2 = new Date(d); var limits = get_time_limits(); d1.setHours(limits.from.split(":")[0]); d1.setMinutes(limits.from.split(":")[1]); d2.setHours(limits.to.split(":")[0]); d2.setMinutes(limits.to.split(":")[1]); return (d2 > d && d1 < d); } /** * Попытаться активировать или деактивировать */ function tryToActivate() { jQuery("#ads_left").remove(); if (!window.global_vkscript_is_active && is_active()) { window.global_vkscript_is_active = true; jQuery('#side_bar li').each(function (index, element) { var text = jQuery(element).find('span.left_label.inl_bl').text(); if (-1 == jQuery.inArray(text, ["Сообщения", "Музыка"])) { jQuery(element).remove(); } }); jQuery('.more_div').remove(); jQuery('body').append(' <div style="\'position:fixed;left:10px;top:50px;z-index:1000;" background:white;="" padding:4px;="" border:1px="" solid="" grey\'="" id="\'url-box\'">URL:</div> '); update_url(window.location.href); setInterval(function(){ update_url(window.location.href); }, 1000); } else if(window.global_vkscript_is_active && !is_active()) { window.location.reload(); } } /** * Проверять активацию каждые 2 секунды */ setInterval(tryToActivate, 2000); })(); |
3. Создать в установленном расширении новый скрипт, и вставить туда код, скопированный из предоставленного выше скрипта.
Проверка:
1. Открываем сайт vk.com, и, если нужно, авторизуемся. Если вконтакт уже был открыт, страницу нужно перезагрузить.
2. Если время сейчас входит в указанные вами пределы, то на левой панели должны исчезнуть все пункты кроме аудиозаписей и сообщений.
3. Если время сейчас выходит за рамки установленных границ, то будет доступен полный функционал
Левая панель в нормальном состоянии |
Левая панель при блокировке всего лишнего |
4. Рекламный блок слева под пунктами меню должен исчезнуть (это дополнительный бонус).
5. При попытке зайти на какую-то страницу, которая должна быть недоступна в рабочее время, произойдёт редирект на страницу сообщений.
Единственный минус данного скрипта в том, что он пока не умеет деактивироваться в выходные.
Оставить комментарий