Greasy Fork is available in English.

LZTConversationEsc

The script allows you to exit the dialog using the Esc keys

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         LZTConversationEsc
// @namespace    Melonium/LZT
// @version      1.2
// @description  The script allows you to exit the dialog using the Esc keys
// @author       MeloniuM
// @license MIT
// @match        *://zelenka.guru/conversations/*
// @match        *://lolz.guru/conversations/*
// @match        *://lolz.live/conversations/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var duck_cache = '\n\t\t\t\n\t\t\t\t<div class="conversationCap">\n\t\t\t\t\t<img class="conversationCapImage" src="//i.imgur.com/dVMbOwN.gif" alt="Выберите диалог для просмотра">\n\t\t\t\t\t<div class="conversationCapText">Выберите диалог для просмотра</div>\n\t\t\t\t</div>\n\t\t\t\n\t\t'
    let loc = window.location.pathname;
    if (!(loc.startsWith('/conversations/'))){
        return;
    }
    $(".ImDialogHeader > #toConversationList").on("click", (function() {
        Im.Start.prototype.setPageUrl('/conversations/')
    }))

    $('.ImViewContent').on('DOMNodeInserted', '#toConversationList', function (event) {
        $(".ImDialogHeader > #toConversationList").on("click", (function() {
            Im.Start.prototype.setPageUrl('/conversations/')
        }))
    });

    window.addEventListener(
        "keydown",
        (event) => {
            if (event.defaultPrevented) {
                return; // Do nothing if the event was already processed
            }

            switch (event.key) {
                case "Esc": // IE/Edge specific value
                case "Escape":
                    if (window.location.pathname != "/conversations/"){
                        Im.Start.prototype.href = "/conversations/"
                        if (window.location.origin + "/conversations/" in Im.navigationCache){
                            //Im.Start.prototype.removeDialogChannel()
                            duck_cache = Im.navigationCache[window.location.origin + "/conversations/"]
                        }
                        Im.dialogChannelId = 0
                            Im.visitorChannelId = 0
                            Im.conversationId = 0
                            Im.Start.prototype.setPageUrl(Im.Start.prototype.href)
                            $(".ImViewContent").html(duck_cache).xfActivate()
                    }
                    break;
                default:
                    return; // Quit when this doesn't handle the key event.
            }

            // Cancel the default action to avoid it being handled twice
            event.preventDefault();
        },
        true
    );
})();