2011-01-13 7 views
2

Opera immer orange markiert Login/Passwort-Eingaben, wenn Benutzer bestätigt "Passwort speichern" -Prompt. Es passt nicht zu meinem Design, gibt es eine CSS-Möglichkeit, es zu ändern/zu deaktivieren?Wie kann ich die Anmeldung/Passwort-Hervorhebung in Opera deaktivieren?

Bearbeiten Wenn nicht von CSS, gibt es eine andere Lösung?

+2

Meine Webseite immer verschwindet, wenn der Benutzer Fenster den Browser schließt. Das passt nicht zu meinem Design; Gibt es eine Möglichkeit, es zu ändern/deaktivieren? –

+2

@Cody Grey Ich denke, dein Kommentar ist ein wenig hart, ich kann mir vorstellen, dass das orangefarbene Highlight nicht gut mit einigen Designs funktioniert und eine andere Farbe wäre besser geeignet. Ich würde auch argumentieren, dass der visuelle Aspekt der Hervorhebung einstellbar sein sollte und daher die Verwendung dieser Frage sehen kann. IMHO – Bazzz

+0

Die einzige Lösung, die ich gefunden habe, ist die zufällige Änderung der Login/Passwort-Namen, aber dies deaktiviert die "Passwort merken" -Funktion. Irgendwelche anderen Vorschläge? –

Antwort

1

Foolproof JS Lösung. Es dupliziert nur die Felder Benutzername und Passwort (mit geändertem Namen = ""), versteckt die ursprünglichen und setzt sie auf id = username_original, ... Wenn form_submit ausgelöst wird, werden Werte von neuen sichtbaren Feldern in alte Felder kopiert (die ausgeblendet sind, aber have name Attribut - Opera Zauberstab wird diese behandeln).

Zusätzliche CSS

.hidden { 
    position: absolute; 
    width: 0; height: 0; 
    overflow: hidden; 
    visibility: hidden; 
}  

JS

if (document.addEventListener) { 
    document.addEventListener("DOMContentLoaded", func, false); 
} 

function func() { 
    // duplicate input[id=username], set to original class=hidden 
    var obj = document.getElementById("username"); 
    var newObj = obj.cloneNode(true); 
    newObj.name = "";  
    obj.id += "_original"; 
    obj.className = "hidden"; 
    obj.parentNode.insertBefore(newObj,obj); 

    // duplicate input[id=password], set to original class=hidden          
    var obj = document.getElementById("password"); 
    var newObj = obj.cloneNode(true); 
    newObj.name = "";  
    obj.id += "_original";  
    obj.className = "hidden"; 
    obj.parentNode.insertBefore(newObj,obj); 


    document.getElementById("submit").onclick = formSubmit; 
}   

function formSubmit() { 
    if(document.getElementById("username_original").value != "") return; 
    else if(document.getElementById("username_original").value != document.getElementById("username").value) { 
     document.getElementById("username_original").value = document.getElementById("username").value; 
     document.getElementById("password_original").value = document.getElementById("password").value; 
    } 
    else return false; 
} 

HTML-Formular

<form action="" method="post" id="form"><div> 
    <input type="text" id="username" name="username" /><br /> 
    <input type="password" id="password" name="password" /><br /> 
    <input type="submit" id="submit" /> 
</div></form> 
4

Es ist nicht möglich, dies mit CSS zu deaktivieren - es ist ein Browser-Funktion :-)

Sie auch verschiedene Grenze zwickt mit dem Versuch, aus nicht weit kommen: Umrisse wirkt sich auf die Gegend um das Highlight, Einschub Box- Schatten, Hintergrundfarbe usw. gehen darunter.

+0

+1 Korrigieren. Sie können CSS nicht zum Ändern oder Ändern von Anwendungen verwenden, die auf dem Computer des Benutzers ausgeführt werden. (Gott sei Dank.) –

+0

Ich glaube nicht, dass Browser-Funktionen nicht durch CSS geändert werden können, dh: Chrome Textareas sind in der Größe veränderbar, es sei denn, "resize: none;" CSS-Eigenschaft wird auf sie angewendet. Look ist kein Browser-Feature: Textfelder sind auf jeder Seite anders, aber ihr Verhalten ist das gleiche: also muss die Umrissfarbe vernünftig geändert werden - oder? –

+0

@janTuron: was Andreas sagt ist, dass das modale Fenster nicht Teil der Website ist, ist es Teil des Browsers Chrom. Daher ist es nicht über den CSS- und Skriptkontext der Webseite zugänglich. – karlcow