Атрибут Maxlength работает по-разному в браузере для мобильных и настольных компьютеров - PullRequest
3 голосов
/ 06 ноября 2019

Атрибут «maxlength» на рабочем столе (браузер) проверяет размер ввода и сравнивает его с заданным пределом, тогда как сравнивает количество символов на мобильном устройстве (браузер). Это странноНапример,

 Username: <input type="text" name="usrname" maxlength="10"><br>

при вводе обычного символа он ограничит вас до 10 символов, что составляет 10 байт. При попытке ввести смайлики или многоязычные символы или символы Юникода, в зависимости от размера, пользователь не сможет вводить дополнительные символы. Например, если вы попытаетесь ввести ? эмодзи, на рабочем столе вы можете ввести только 5 смайликов, поскольку размер 1 смайлика равен 2 байтам, а в настольном браузере вы не сможете пересечь 10 байт.

Но в мобильном браузере высможет ввести 10 смайликов. Не должны ли браузеры на настольном компьютере или мобильном устройстве работать одинаково для простого атрибута, такого как maxlength. Дайте мне знать, почему это происходит и, если возможно, обходной путь. Я хочу, чтобы мобильный браузер работал так же, как и настольный браузер, и ограничивал размер входных данных в пересчете на количество байтов. Заранее спасибо.

для целей тестирования: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_maxlength

...