it-swarm.com.de

Autocomplete in Joomla Administrator deaktiviert

Ich möchte die Anmeldedaten für die automatische Vervollständigung deaktivieren, wenn ich auf Administratoranmeldung klicke. stop this prediction

Ich habe versucht, autocomplete = "off", oncopy = "return false" onpaste = "return false", aber nichts funktioniert. Ich weiß, dass es eine Browsereigenschaft ist, aber ich muss diese klare Website-Prüfung durchführen. Ich habe diese Art der Validierung auf dem Payment Gateway gesehen.

3
mohan

Obwohl es sich nicht um eine Joomla-Frage handelt, könnte es sich in vielen Bereichen auch um eine relevante Frage in Joomla Forms handeln, die auch in Joomla angewendet werden kann. Daher versuche ich, eine nützliche funktionierende Lösung anzugeben (die ich bei vielen Nichtarbeitern gefunden habe) und alte Lösungen).

Also das Login-Formular: (sollte nach Ihren Wünschen umbenannt werden)

<form id="login-form">
    <input class="form-control" name="username" placeholder="Username" type="text">
    <input class="form-control password" name="password" placeholder="Password" type="text">              
    <button class="btn btn-lg btn-primary btn-block" name="demo-submit" value="Login" type="Submit">Login</button>  
</form>

Der nützliche Javascript-Code: (einzufügen)

<script src="https://terrylinooo.github.io/jquery.disableAutoFill/assets/js/jquery.disableAutoFill.min.js"></script>

Und das jQuery-Skript:

<script language="javascript" type="text/javascript">

var $ = jQuery;

$('#login-form').disableAutoFill({
    passwordField: '.password',
    debugMode: false,
    randomizeInputName: true,
    callback: function() {
    return checkForm();
    }
});

function checkForm() {
    form = document.getElementById('login-form');

    if (form.password.value == '') {
        alert('Cannot leave Password field blank.');
        form.password.focus();
        return false;
    }
    if (form.username.value == '') {
        alert('Cannot leave User Id field blank.');
        form.username.focus();
        return false;
    }
    return true;
}
</script>

Ich habe es versucht und es funktioniert sogar in Chrome, wo die meisten Lösungen zur automatischen Vervollständigung fehlschlagen. Ich habe es nicht in allen Browsern versucht, aber der Autor behauptet, es funktioniert in allen Browsern. Die Quelle mit Alle Informationen hierzu finden Sie hier: https://github.com/terrylinooo/jquery.disableAutoFill

Ich hoffe das kann helfen.

[~ # ~] Update [~ # ~] - ANGEPASSTE LÖSUNG FÜR JOOMLA ADMIN LOGIN

Der obige Code funktioniert jetzt auf vielen Formularen, jedoch nicht bei der Anmeldung als Joomla-Administrator. Ich wusste, dass ich mir Zeit nehmen muss, um die Lösung für diese Frage so anzupassen, dass sie zu einer Joomla-Frage wird. So deaktivieren Sie das automatische Ausfüllen/Vervollständigen auf der Joomla Admin-Anmeldeseite:

Am Ende ist es relativ einfach.

Ich habe an der Vorlage gearbeitet: administrator/modules/mod_login/tmpl/default.php

(Erstellen Sie eine Sicherungskopie dieser Datei, bevor Sie sie bearbeiten. Wenn Sie dann etwas vermasseln, können Sie die ursprüngliche Datei einfach wieder an ihren Platz zurücksetzen.) Oder der richtige Weg ist , eine zu erstellen Template Override dieses Moduls default.php Datei im Template Manager des Admin.

1. Oben in der Datei nach dem schließenden PHP-Tag ( ?>) füge den jquery Import ein, nur diesen Code:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

2. Fügen Sie in die Eingabefelder für Benutzername und Passwort ein Attribut ein (autocomplete = "off") (es klingt vielleicht dumm, sollte aber da sein)

3. Ändern Sie im Passwort-Eingabefeld das type-Attribut in text (type = "text").

4. Fügen Sie dann den folgenden Javascript/jQuery-Code am Ende der Datei ein (nach dem schließenden Tag des Formulars **</form>**):

<script type="text/javascript">

    $(function(){
        $('#mod-login-username').attr({
            'name' : 'mygod',
            'type' : 'text',
            // 'readonly' : true,
        });
        $('#mod-login-password').attr({
            'name' : 'mygod2',
            'type' : 'text',
            // 'readonly' : true,
        });
    });


    $('#form-login').on('submit', function(){
            $('#mod-login-username').attr('name','username');
            $('#mod-login-password').attr('name','passwd');
            $('#mod-login-password').attr('type','password');
    });    

</script>

Und das wars, es hat bei mir problemlos geklappt und ich konnte mich problemlos bei meinem Admin anmelden, das automatische Ausfüllen wurde im Browser nicht gezündet (ich habe es auf Chrome und auf Firefox) versucht. I Ich hoffe, dass es auch für Sie funktioniert und Sie können dies für mich an Ihrer Seite bestätigen. (Es könnte noch viel vereinfacht werden, aber zumindest funktioniert es jetzt).

Und das Ergebnis nur visuell darstellen:

Firefox - Autocomplete wird nicht gezündet und die Joomla-Authentifizierung funktioniert auch. In Chrome ist es genauso.

4
Zollie