Есть ли возможность перехватить загружаемый JS...



  • ...немного изменить его код и далее отправить в браузер. Т.е., чтобы javascript отрабатывал изменённый таким образом файл.



  • @Sipaj возможно запретить загрузку этого файла и загрузить через JS другой файл



  • @tet-vivi не, это не катит. Нужен именно перехват для изменения и потом передача для интерпретации в движок DOM броузера.



  • @Sipaj said in Есть ли возможность перехватить загружаемый JS...:

    ...немного изменить его код и далее отправить в браузер. Т.е., чтобы javascript отрабатывал изменённый таким образом файл.

    Стандартными средствами BAS пока нельзя. В теории можете поднять на node js свой прокси и изменять данные на лету в нём, но готовых мануалов по этому вопросу тоже нет



  • @Sipaj said in Есть ли возможность перехватить загружаемый JS...:

    @tet-vivi не, это не катит. Нужен именно перехват для изменения и потом передача для интерпретации в движок DOM броузера.

    Если сильно хочется, то вот библиотека для ноды https://github.com/joeferner/node-http-mitm-proxy
    Не знаю насколько будет это хорошо и стабильно работать. Я очень давно эксперементировал с этим, но в продакшен так сказать это не пошло. Проект к сожалению не сохранился.



  • @Fox ну вот счётчик яши развлекается со шрифтами, покушаясь на мою анонимность. Хотелось бы разобраться с этим топорно, заменить "что надо" и всё...

                    wg = "monospace;sans-serif;serif;Andale Mono;Arial;Arial Black;Arial Hebrew;Arial MT;Arial Narrow;Arial Rounded MT Bold;Arial Unicode MS;Bitstream Vera Sans Mono;Book Antiqua;Bookman Old Style;Calibri;Cambria;Cambria Math;Century;Century Gothic;Century Schoolbook;Comic Sans;Comic Sans MS;Consolas;Courier;Courier New;Garamond;Geneva;Georgia;Helvetica;Helvetica Neue;Impact;Lucida Bright;Lucida Calligraphy;Lucida Console;Lucida Fax;LUCIDA GRANDE;Lucida Handwriting;Lucida Sans;Lucida Sans Typewriter;Lucida Sans Unicode;Microsoft Sans Serif;Monaco;Monotype Corsiva;MS Gothic;MS Outlook;MS PGothic;MS Reference Sans Serif;MS Sans Serif;MS Serif;MYRIAD;MYRIAD PRO;Palatino;Palatino Linotype;Segoe Print;Segoe Script;Segoe UI;Segoe UI Light;Segoe UI Semibold;Segoe UI Symbol;Tahoma;Times;Times New Roman;Times New Roman PS;Trebuchet MS;Verdana;Wingdings;Wingdings 2;Wingdings 3".split(";"),
                    wk = v(function(a) {
                        a = cb(a)("canvas");
                        var c = n(a, "getContext");
                        if (!c) return null;
                        try {
                            var b = B(c, a)("2d");
                            b.font = "72px mmmmmmmmmmlli";
                            var d = b.measureText("mmmmmmmmmmlli").width;
                            return function(e) {
                                b.font = "72px " + e;
                                return b.measureText("mmmmmmmmmmlli").width === d
                            }
                        } catch (e) {
                            return null
                        }
                    }),
    

Log in to reply