Я хочу знать, как включить автозаполнение для формы входа в Capacitor (или, если это возможно). Я использую Ionic React. Это работает, если открыть страницу в Safari на iOS и даже если вы прикрепите ее к домашнему экрану. Но если вы упаковываете веб-приложение в Capacitor, автозаполнения не будет. Вот код для формы входа:
<form onSubmit={e => loginAndCloseModal({e, emailValue, passwordValue})}>
<IonList>
<IonItem>
<IonLabel position="stacked">Email</IonLabel>
<IonInput autocomplete="username" name="email" value={emailValue} onIonChange={e => setEmail(e.target.value)}></IonInput>
</IonItem>
<IonItem>
<IonLabel position="stacked">Password</IonLabel>
<IonInput autocomplete="current-password" name="password" type="password" value={passwordValue} onIonChange={e => setPassword(e.target.value)}></IonInput>
</IonItem>
{ errorMessage &&
<IonItem>
<IonNote color="danger">{errorMessage}</IonNote>
</IonItem> }
</IonList>
<IonButton class="login-button" expand="block" type="submit" disabled={authLoading}>Login</IonButton>
</form>
Я также попытался установить autocomplete="on"
, но это не сработало. Документация Apple рекомендует использовать значения, указанные выше: https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element
Вот скриншот страницы входа в Интернет:
Вот версия формы входа в систему в конденсаторе:
Обратите внимание, что опция паролей в приведенной выше клавиатуре пропала. Почему это?
Вот соответствующие зависимости моего проекта:
"@capacitor/cli": "^1.2.1",
"@capacitor/core": "^1.2.1",
"@capacitor/ios": "^1.2.1",
"@ionic/react": "^4.11.2",
"@ionic/react-router": "^4.11.2",
"react": "^16.8.6",
"react-dom": "^16.8.6",
Я использую iOS версии 12.4.2
РЕДАКТИРОВАТЬ:
Я сделалеще немного исследований. Там это документация от Apple. Соответствующий раздел:
Включить автозаполнение пароля
Автозаполнение пароля использует эвристику для определения, когда пользователь входит в систему или создает новые пароли, и автоматически предоставляет панель быстрого набора пароля. Эта эвристика предоставляет пользователям некоторую поддержку автозаполнения паролем в большинстве приложений, даже если эти приложения не были обновлены для поддержки автозаполнения. Однако, чтобы обеспечить наилучшее взаимодействие с пользователем и убедиться, что ваше приложение полностью поддерживает автозаполнение пароля, выполните следующие действия:
Настройте связанные домены вашего приложения. Чтобы узнать, как настроить связанные домены вашего приложения, см. Настройка связанных доменов приложения.
Установите правильный тип автозаполнения в соответствующих текстовых полях. Для приложения iOS см. «Включение автозаполнения паролем в представлении ввода текста». Для веб-приложения см. Включение автозаполнения пароля в элементе ввода HTML.
Я сделал 2 сверху, когда впервые задал этот вопрос, но не 1. Однако после выполнения номера1 это все еще не работает.
Вот еще несколько соответствующих документов от Apple.