Внедрение JS в WebView перед отправкой любого действия на странице - PullRequest
0 голосов
/ 07 мая 2018

Я хочу перехватывать POST-запросы с пользовательской страницы, что невозможно из интерфейса клиента обратного вызова (в отличие от GET, у вас нет доступа к телу POST-запроса). Итак, я реализовал решение, основанное на работниках сервиса, которое заключает POST-запрос в GET-запрос с теми же данными, которые я могу обработать в shouldInterceptRequest ().

Итак, когда сервисный работник зарегистрирован и активен:

function subscribeToSWMessages()
{
    navigator.serviceWorker.onmessage = function (event)
    {
        if (event.data.command == 'activeSW')
        {
                // !! Only from now we can post requests !!
        }
    };
}

Только после этого можно отправлять запрос со страницы. Итак, как правильно ввести мой код JS, чтобы быть уверенным, что никакие запросы не публикуются до получения сообщения? Может ли страница быть полностью индивидуальной, или я должен попросить ее разработчика сделать что-то на их стороне?

...