
Ich verwende Chrome. Auf manchen Websites scheint es sich eine riesige Anzahl von Einträgen für verschiedene Felder zu merken. Ich finde das sehr praktisch. Auf manchen Websites funktioniert es jedoch nicht so gut. Ein Beispiel, das mich verrückt macht, ist die AWS-Konsole. Wenn ich eine Lambda-Funktion aktualisiere, muss ich eine Datei von S3 kopieren. Es gibt ein Feld, das eine sehr lange URL erfordert, die ich jedes Mal woanders abrufen muss.
Das HTML für das Feld lautet:
<input type="text" autocomplete="on" id="awsui-textfield-5"
class="awsui-textfield awsui-textfield-type-text">
Aus diesem Grund autocomplete="on"
würde ich erwarten, dass Chrome einfach „das Richtige tut™“, aber vielleicht liegt es daran, dass sich das Feld nicht in einem befindet, und <form>
das ist nicht der Fall.
Welche Bedingungen müssen erfüllt sein, damit ein Feld gespeichert wird?
Ich erstelle häufig Bookmarklets oder Userscripts, um kleine Ärgernisse auf Websites zu beheben. Das würde ich hier gerne tun, weiß aber nicht, was geändert werden muss.
Bitte beraten.
Antwort1
Ich habe es für diesen einen Fall gelöst! Ich denke, die Lösung wird wahrscheinlich auch für viele andere gelten. Ich habe eineLesezeichenund ein Stück JavaScript, das Sie in eine „Entwicklertools“-Konsole einfügen können.
var jq_tag=document.createElement('script');
jq_tag.setAttribute('src','//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js');
document.head.appendChild(jq_tag);
setTimeout(function() {
var tf=$(document.activeElement);
var ff=$('<form method="post" target="_blank" action="//example.com"><input type="submit" value="Save this field data"></form>');
tf.after(ff);
ff.prepend(tf);
}, 2000);
Es ist so konzipiert (um es allgemeiner zu machen), dass Sie Ihren Cursor im betreffenden Textfeld haben. Wenn Sie das JS ausführen, wird hinter dem Feld eine Schaltfläche „Diese Felddaten speichern“ angezeigt.
Dies ist eine Aufschlüsselung dessen, was es Zeile für Zeile tut:
# Create a script tag in memory.
# Make it source jQuery.
# Attach it to do the <head> of the document which begins loading it.
# Barbaric workaround for waiting for the JS to load.
# Get the element that has focus.
# Create a form that will POST to example.com in a new tab.
# Attach the form to the DOM right after the "focused element".
# Detach the "focused element" and reattach it inside the new form element.
Antwort2
Wie ist dies im Vergleich zur Form History Control (II)? https://chromewebstore.google.com/detail/form-history-control-ii/lpcccgcdjibejkgiaeijbmkpbnbkglkb