// ==UserScript== // @name MRAS Mobile Reactor advanced script // @description Представься, мразь! (с) // @author Rus-Ivan // @namespace m.joyreactor.cc // @version 1.3.1 // @include *://m.joyreactor.cc/* // @include *://m.reactor.cc/* // @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js // @grant GM_xmlhttpRequest // @grant GM_getValue // @grant GM_setValue // @grant GM.xmlHttpRequest // @grant GM.getValue // @grant GM.setValue // @grant unsafeWindow // @connect m.joyreactor.cc // @connect joyreactor.cc // @connect reactor.cc // @icon http://joyreactor.cc/favicon.ico // @run-at document-end // @license MIT // @copyright 2018, Rus-Ivan (https://github.com/Rus-Ivan) // @downloadURL https://update.greasyfork.icu/scripts/37992/MRAS%20Mobile%20Reactor%20advanced%20script.user.js // @updateURL https://update.greasyfork.icu/scripts/37992/MRAS%20Mobile%20Reactor%20advanced%20script.meta.js // ==/UserScript== /* ======================== Для чего? Облегчает просмотр постов на m.joyreactor.cc Часто сижу на m.joyreactor.cc и приходится 1. открывать пост, чтобы + посмотреть гифку + почитать комментарии 2. открывать пост на основном хосте, чтобы + добавить в избранное + оценить комментарий ======================== Что делает этот скрипт? 1. при нажатии на кнопку/ссылку "Комментарии": + открывает комментарии + делает картинки/гифки/гиф-видео кликабельными (прим., чтобы загрузить гифки/гиф-видео, кликните на постер) + показывает панель управления гиф-видео 2. есть кнопка "Добавить в избранное" 3. возможность оценивать комментарии ======================== Дополнительные плюшки: 1. убирает редиректы с ссылок 2. сохраняет избранные посты в базе данных ======================== P.S. Этот скрипт я писал чисто для личного пользования, если людям он покажется полезным, то могу добавить в него какие-нибудь дополнительные плюшки */ function consoleLog(){window['console']['log'].apply(this, arguments);} consoleLog("====== start " + GM.info.script.name + " v" + GM.info.script.version + "\n" + GM.info.script.description); var DEBUG = false; var FAVKEY = 'favorite-key'; (async function(){ 'use strict'; try{ var uWindow = unsafeWindow; consoleLog("window: ", uWindow); var userFavorite = await GM.getValue( FAVKEY, "[]" ); userFavorite = JSON.parse(userFavorite); var syncInProgress = false; startSync(); removeRedirect(); makeVotableComments(); activateComments(); activateFavorite(); addNewStyle(); consoleLog("======== end " + GM.info.script.name + " v" + GM.info.script.version); function startSync() { var html = '
'; makePopup({ html: html, attr: { id: 'user-info', 'class': 'popup-window', }, 'next': { html: '