UserScript: Как изменить переменную webpack из глобальной области видимости? - PullRequest
0 голосов
/ 05 июля 2019

Вариант использования: Приложение pianomarvel имеет локальный сервер, который читает миди-входы.Угловое веб-приложение извлекает миди-входы с сервера через веб-сокет.URI веб-сокета жестко задан в localhost.

Я пытаюсь изменить URI веб-сокета с помощью пользовательского сценария (Greasemonkey / Tampermonkey).


Соответствующие фрагменты:

webpackJsonp([2], {
     /*[...]*/
     cDNt: function(n, t, e) {
        /*[...]*/
        var lr = {
            /*[...]*/
            socketUrl: "ws://localhost",
            /*[...]*/
            }
        /*[...]*/    
        },
    /*[...]*/
    }, [0]);

script src


Что работает:

Внутри cDNt есть одна вложенная функция, которая использует socketURL.Эта функция вызывается по таймауту.

Установка там точки торможения и изменение lr.socketURL с консоли отладки позволяет достичь цели.


Что не сработало:

Перехват сценария перед его загрузкой не поддерживается chrome. Перезагрузка скрипта без строгий режим происходит после того, как скрипт уже запущен.


Вопросы:

Как получить доступ к этой переменной и изменить ее из глобальной области видимости?

Есть ли какой-либо способ доступа к замыканиям извне или стандартный способсделать это на веб-пакете?


...