Rise, при POST запросах из браузера на сервер бывают 2 типа запросов: простые и сложные.
Простые запросы это запросы с кодировками:
1) application/x-www-form-urlencoded
2) multipart/form-data
3) text/plain
Все остальные кодировки делают запрос сложными. При сложных запросах браузер перед отправкой запроса всегда делает так называемый предзапрос, в консоли такие запросы можно увидеть с пометкой OPTION и так уж выходит, если ты пропишешь application/json оно конечно будет работать, но браузер будет вместо одного запроса отправлять 2 запроса: сначала предзапрос (чтобы проверить соответствие CORS) и только потом сам запрос.
P. S. Это касается только запросов на другие домены, если запрос на свой собственный домен идет, то можешь смело ставить application/json, предзапросов не будет, но если вдруг обработчик у тебя на другом сайте, лучше использовать text/plain - собственно это универсальное решение, проще сразу изначально везде так делать.
WbICHA, не нужен электрон мне, да и трудоемко отладку на NodeJS делать, не вижу смысла тратить силы на него, когда абсолютно все необходимое мне есть в Extension API от Firefox. Плюс у меня куча наработок именно под API браузерных расширений, если на NodeJS все это добро переписывать... ууу мне и года не хватит.
AUser0, проверил, да, изменения именно в этом архиве подхватываются автоматом. Также обнаружил, что в файле \Data\profile\prefs.js прописаны UUID от моего расширения и их оказывается можно менять)
AUser0, понял) Да, это вариант. Поискал и нашел, что после установки xpi его дубль появляется в папке \Data\profile\extensions. Если я буду редактировать конфиг внутри именно вот этого дубля, то по идее все норм. будет с авто подхватыванием изменений. Спасибо)
AUser0, что написано? Расширение мое собственное. Если я его распакую установлю из папки, то при закрытии браузера оно удаляется и потом надо заново ставить и так каждый раз неудобно. Поэтому и хочу чтобы при запуске браузера оно автоматом устанавливалось.
Проблема с xpi в том, что во первых, неподписанное расширение в обычный портативных фаерфоас не поставить, надо именно портативный фаерфркс Developed версии - фиг с ним, я такой тоже нашел. Вторая проблема в том, что если я меняю в архиве файл с настройками расширения (условный config.json)... изменения не подхватываются автоматом. Надо удалять и заново ставить расширение, чтобы увидеть изменения. С временными расширенииями из папки не так, если ты там поменял данные в файле, изменения доступны тут же, не надо даже ничего переустанавливать.
Константин Гусев, next работает опираясь на текущий уровень вложенности тегов, по идее. Надо переписать так. Сначала ищем все поля, что есть на странице, получаем массив. Далее перебираем массив в цикле, когда при переборе натыкаемся на текущий элемент, следующий элемент считаем тем полем, в который и надо переместить фокус.
Простые запросы это запросы с кодировками:
1) application/x-www-form-urlencoded
2) multipart/form-data
3) text/plain
Все остальные кодировки делают запрос сложными. При сложных запросах браузер перед отправкой запроса всегда делает так называемый предзапрос, в консоли такие запросы можно увидеть с пометкой OPTION и так уж выходит, если ты пропишешь application/json оно конечно будет работать, но браузер будет вместо одного запроса отправлять 2 запроса: сначала предзапрос (чтобы проверить соответствие CORS) и только потом сам запрос.
P. S. Это касается только запросов на другие домены, если запрос на свой собственный домен идет, то можешь смело ставить application/json, предзапросов не будет, но если вдруг обработчик у тебя на другом сайте, лучше использовать text/plain - собственно это универсальное решение, проще сразу изначально везде так делать.
https://learn.javascript.ru/fetch-crossorigin#nepr....