Size: a a a

2019 October 30

DB

Dmitriy Bizyaev in JSNN 🤔 (GSNN)
Vadim Ivanov
Чет не катит такое. По сути setHeader можно установить до отправки самого запроса.
Еще работающий вариант - хранить Auth токен в cookie, тогда все запросы из iframe тоже будут иметь cookie.
UPD
Нужно будет установить куку в iframe вручную
Ну если cookie-based auth для вас приемлема, то ок. И отпадает нужда в грязных хаках.
источник

VI

Vadim Ivanov in JSNN 🤔 (GSNN)
Dmitriy Bizyaev
Ну если cookie-based auth для вас приемлема, то ок. И отпадает нужда в грязных хаках.
Но тут тоже есть проблема. В iframe можно что-то делать только когда он загружен. Но нам нужно чтобы iframe уже посылал запросы с нужными куками. Или я ошибаюсь?
источник

DB

Dmitriy Bizyaev in JSNN 🤔 (GSNN)
Т.е. токен нужно передавать уже при загрузке контента iframe?
источник

VI

Vadim Ivanov in JSNN 🤔 (GSNN)
Dmitriy Bizyaev
Т.е. токен нужно передавать уже при загрузке контента iframe?
Видимо да
источник

DB

Dmitriy Bizyaev in JSNN 🤔 (GSNN)
Если у тебя iframe с same origin, ты можешь выставить нужную куку в родительском фрейме, и она уйдёт на бэк с запросом на контент iframe (т.к. origin тот же).
источник

DB

Dmitriy Bizyaev in JSNN 🤔 (GSNN)
Еще лучше, чтоб бэк сам её выставил как http-only.
источник

VI

Vadim Ivanov in JSNN 🤔 (GSNN)
Dmitriy Bizyaev
Если у тебя iframe с same origin, ты можешь выставить нужную куку в родительском фрейме, и она уйдёт на бэк с запросом на контент iframe (т.к. origin тот же).
Если так то норм
источник

D

Daniel in JSNN 🤔 (GSNN)
Есть input c type="email" для ввода email, есть две проблемы в Chrome:

1.  При вводе домена сначала на английском, потом на любом другом языке, Хром конвертирует домен в punycode.

Пример:
Исходное value в инпуте:" test@test";
Добавляем символ другого языка, например, русскую букву й.
Ожидаем:" test@testй".
Получаем:  "test@xn--test-j5d".

2.  При удалении последнего символа, за которым находится пробел или при вводе символа после пробела, который является первым символом, пробел(ы) стирается(ются).

Пример:
Исходное value в инпуте: "test@test.test, r";
Удаляем последний символ.
Ожидаем: "test@test.test, "(с пробелом на конце).
Получаем:  "test@test.test, r"(без пробела на конце).

Еще один пример:
Исходное value в инпуте:"      ";
Вводим символ 'd'.
Ожидаем:"      d".
Получаем: " d".

NB: проблема актуальна только для Google Chrome у input c type="email". Если выставить type="text", то все проблемы пропадают. Скорее всего, это связано с валидацией инпута. Я пробовал обернуть input в form с атрибутом novalidate, но это не дало эффекта.

Кто-нибудь сталкивался с такими проблемами? Как решали? Что можно еще попробовать?

Особенно интересует решение второй проблемы.
источник

D

Daniel in JSNN 🤔 (GSNN)
1я проблема
источник

D

Daniel in JSNN 🤔 (GSNN)
источник

E

Evgeniy 🍀 in JSNN 🤔 (GSNN)
использовать текстовый инпут с кастомной валидацией совсем не вариант?
источник

D

Daniel in JSNN 🤔 (GSNN)
Evgeniy 🍀
использовать текстовый инпут с кастомной валидацией совсем не вариант?
Валидация кастомная. Можно использовать текстовый инпут, но это на крайний случай.
источник

AP

Anton Pryakhin in JSNN 🤔 (GSNN)
@DASenkiv видимо подобная проблема только под виндой
источник

D

Daniel in JSNN 🤔 (GSNN)
Anton Pryakhin
@DASenkiv видимо подобная проблема только под виндой
на макоси проблема сохраняется
источник

AP

Anton Pryakhin in JSNN 🤔 (GSNN)
у меня нет)
источник
2019 October 31

C

Combot in JSNN 🤔 (GSNN)
Njegos M Abdllah has been banned! Reason: CAS ban.
источник

A

Anton in JSNN 🤔 (GSNN)
Daniel
Есть input c type="email" для ввода email, есть две проблемы в Chrome:

1.  При вводе домена сначала на английском, потом на любом другом языке, Хром конвертирует домен в punycode.

Пример:
Исходное value в инпуте:" test@test";
Добавляем символ другого языка, например, русскую букву й.
Ожидаем:" test@testй".
Получаем:  "test@xn--test-j5d".

2.  При удалении последнего символа, за которым находится пробел или при вводе символа после пробела, который является первым символом, пробел(ы) стирается(ются).

Пример:
Исходное value в инпуте: "test@test.test, r";
Удаляем последний символ.
Ожидаем: "test@test.test, "(с пробелом на конце).
Получаем:  "test@test.test, r"(без пробела на конце).

Еще один пример:
Исходное value в инпуте:"      ";
Вводим символ 'd'.
Ожидаем:"      d".
Получаем: " d".

NB: проблема актуальна только для Google Chrome у input c type="email". Если выставить type="text", то все проблемы пропадают. Скорее всего, это связано с валидацией инпута. Я пробовал обернуть input в form с атрибутом novalidate, но это не дало эффекта.

Кто-нибудь сталкивался с такими проблемами? Как решали? Что можно еще попробовать?

Особенно интересует решение второй проблемы.
Это правда только в хроме? Натыкался на такое. Но это адекватное поведение. Если взять обычный инпут без реактов и тп и вписать в него адрес с русскими символами, то получим тот же самый пуникод
источник

AP

Anton Pryakhin in JSNN 🤔 (GSNN)
Anton
Это правда только в хроме? Натыкался на такое. Но это адекватное поведение. Если взять обычный инпут без реактов и тп и вписать в него адрес с русскими символами, то получим тот же самый пуникод
На самом деле, он созвал инпут библиотекой, которая по умолчанию вешала маску на инпут, поэтому такое поведение. Нативный инпут в html с type email ведет себя как обычный type text
источник

A

Anton in JSNN 🤔 (GSNN)
Anton Pryakhin
На самом деле, он созвал инпут библиотекой, которая по умолчанию вешала маску на инпут, поэтому такое поведение. Нативный инпут в html с type email ведет себя как обычный type text
Но если взять у него node.value то мы увидим такой же пуникод ведь
источник

AM

Andrey Makarov in JSNN 🤔 (GSNN)
Наверное баян, но тем не менее – https://www.htmhell.dev/
источник