2016-08-04 12 views
2

Für mein Login-Formular speichert Firefox zwar, aber Chrome fragt nicht nach dem "Passwort speichern" -Feld. Ich habe versucht, indem ich Autocomplete = "on" hinzufügen, aber es funktioniert nicht. Kann mir jemand die Antwort vorschlagen? Ich wollte keine Erweiterung verwenden. Mein Code ist unten angegeben.Firefox speichert das Passwort, aber Chrome speichert das Passwort für das Login-Formular nicht

<form spellcheck="false" autocomplete="on" id="login-form" action="/user/login/do-login" method="post"> 
       <div class="separator-bar"></div> 
       <div class="credentials-container"> 
        <div class="username-container"> 
         <div class="label">Email/Username: </div> 
         <div class="field"> 
          <input class="wx-input" type="text" name="<?php echo $this->escape(App_Api_User::ARG_USERNAME)?>" value="<?php if(isset($this->username)) {echo $this->username;}?>" spellcheck="false"/> 
         </div> 
        </div> 
        <div class="password-container"> 
         <div class="label">password: </div> 
         <div class="field"> 
          <input class="wx-input" type="password" name="<?php echo $this->escape(App_Api_User::ARG_PASSWORD)?>"/> 
         </div> 
        </div>  
       </div> 

       <div class="separator-bar bottom"></div> 
       <div class="forgot-password-container"> 
        <div class="text">forgot password: </div> 
        <div class="password-page button"><a class="loginForgotPassword" href="#">CLICK HERE</a></div> 
       </div> 

       <div class="submit-container"> 
        <input class="login button disabled" type="submit" name="submit" value="GO" /> 
       </div> 
       <div id="infoMessageContainer"> 

       </div> 

       <div class="general-error"></div> 

      </form> 

$('body').on('click', '.submit-container .login', function(e) { 
      if ($(this).hasClass('disabled')) { 
       e.preventDefault(); 
       e.stopPropagation(); 
      }else{ 
       var self = this; 
       self.submit(); 
      } 
     }); 

_success: function() 
    { 
     window.location.href = '/user';  
    } 

Antwort

0

Ich habe viele Änderungen vorgenommen und dann funktioniert schließlich mit unten Block des Codes. Ich hoffe, es wird jemandem helfen. Sie müssen das Formular mit diesem Code senden.

 var winNav = window.navigator, 
     isIOSChrome = winNav.userAgent.match("CriOS"); 
     var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 
     //Use below if statement, if you want to run only in chrome 
     if(isChrome || isIOSChrome){ 
      $('#login-form').submit(function() { 
       if(-1 !== this.action.indexOf('/login')) { 
        var jForm = $(this); 
        $.post(this.action, $(this).serialize(), function (data) { 
         if (data.success == true) { 
          jForm[0].action = '/user'; 
          jForm.submit(); 
         } 
        }); 
        return false; 
       } 
      }); 
     } 
1

Alle Browser verwenden Heuristiken, um zu wissen, wann Passwörter gespeichert werden sollen. Ich bin vertraut mit Firefox und Chrome. Die Heuristik sie scheint nutzen zu:

  • Das Formular ein Passwort-Feld den Benutzernamen sein wird
  • Die Texteingabe kurz vor dem Passwort-Feld angenommen haben muss
  • nur die beiden Eingabefelder gespeichert werden. Firefox fordert Sie dann auf, es kann sich Ihr geändertes Passwort merken, wenn Sie ein Formular mit zwei Passwortfeldern ausfüllen. Hier

ist eine Liste der Dinge, die ich in der Regel diese Algorithmen sehen brechen:

  • Seiten, die die automatische Vervollständigung verwenden = off (speziell verlangt, dass Browser Passwörter nicht merken)
  • Trennung Login in mehrere Seiten wobei der Benutzername auf einer Seite und das Passwort auf der nächsten Seite eingegeben wird.
  • Mit Javascript, um die Inhalte dieser Felder in verborgenen Felder in einer versteckten Form zu kopieren und dann das versteckte Formular eher als die sichtbare Form
  • mehr als zwei Felder Erfordern Namen ausgefüllt wird wie Benutzer, SSN und Passwort Benutzername, Passwort und PIN
  • Ändern sie die Namen der Felder Benutzername und Passwort periodisch (firefox verursacht nicht mehr in der Lage sein im Passwort zu füllen, auch wenn man sich erinnert).
+0

Mein Passwort speichern Problem ist mit Chrome-Browser. Ich habe alle obigen Regeln überprüft, aber es funktioniert nicht für mich. Bitte irgendeine andere Lösung. – Abhijit

+0

Ich habe das gleiche Problem, jemand bitte helfen. –

+0

@dave Guru, ich habe die Antwort für diese Frage gepostet. – Abhijit

Verwandte Themen