Я установил небольшой пример, чтобы проиллюстрировать проблему здесь:
https://jsfiddle.net/waugrryy/6161/
<div id="app">
<router-link to="/">Go Login</router-link>
<router-view></router-view>
</div>
<template id="login">
<div>
<strong>Login page</strong>
<input placeholder="username"></q-input>
<input type="password" placeholder="pwd"></q-input>
<button @click="$router.push('/home')">Login</button>
</div>
</template>
<template id="home">
<div>
<strong>Welcome to the App!</strong>
<input></input>
</div>
</template>
const Login = Vue.extend({
template: '#login'
})
const Home = Vue.extend({
template: '#home'
})
const router = new VueRouter({
mode: 'history',
routes: [{
path: '/',
component: Login
},
{
path: '/home',
component: Home
}
]
})
new Vue({
router,
el: '#app'
})
В моем примере я использую vue-router, но я не думаю, что проблема связана с фреймворком. Обычные входные данные без привязки.
Воспроизвести:
- Нажмите Перейти к логину
- Введите имя пользователя / пароль. Сохранить в Safari
- Нажмите Логин
- Нажмите на новый вход на домашней странице
- Safari предлагает автозаполнить это поле
Работает нормально в Chrome. Кто-нибудь видел что-нибудь подобное? Есть ли обходной путь?
Может быть, об этом уже сообщалось в Safari? Кажется, это довольно распространенный случай использования в SPA.
Я нахожусь на рабочем столе Safari v11.1.1
Спасибо!