Safari автоматически заполняет ВСЕ входные данные после отправки первой формы в SPA - PullRequest
0 голосов
/ 31 августа 2018

Я установил небольшой пример, чтобы проиллюстрировать проблему здесь:

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

Спасибо!

...