У нас есть веб-страница, которая содержит текст <input>
, к которому мы прикрепляем пользовательский компонент автозаполнения (точнее, используя Typeahead AngularStrap).
Safari, очевидно, считает, что ввод содержит имя человека, и поэтому предоставляет меню автозаполнения со значениями, заполненными из адресной книги системы (небольшое меню вверху на скриншоте; также обратите внимание на соответствующий значок, добавленный Safari, обведенный зеленым).
Это приводит к следующим проблемам:
Поле называется "Имя", но оно не должно содержать имена людей. Так что не имеет смысла давать предложения от человека.
Встроенное меню Safari скрывает наше пользовательское меню предложений, показанное на снимке экрана ниже предложений Safari.
Я попробовал следующее, чтобы избавиться от предложений Safari:
Измените атрибуты
name
иid
с «name» на что-то вроде «title» или «GoToHellSafari». Не помогает.Добавьте
autocomplete="off"
, добавьтеautocomplete="false"
. Не помогает.Измените фактический текст в
<label>
на что-то кроме «Имя», например «Заголовок». Это работает, автозаполнение исчезло.Разорвите основанную на
id
связь между<input>
и его<label>
, удалив атрибутыid
иname
. Не помогает.
Хотя вариант (3) выглядит многообещающе, у меня есть следующая очевидная проблема: я хочу, чтобы эта метка читалась как «Имя». Какие-либо предложения?