Я создаю расширение Safari для автозаполнения электронной почты.Мне удалось заставить это работать, но на некоторых сайтах текстовое поле, кажется, заполнено значением, но когда веб-сайт пытается получить это значение, он ничего не получает.
Для пояснения, мой код работает, например:Facebook, Github, Stackoverflow, ...Но это не работает, например, на developer.apple.com, www.back4app.com, Microsoft, ...
Я пытался увидеть, что делает автозаполнение цепочки для ключей в Safari, и это показывает, что встретилисьэлектронная почта фактически заполняется в теге HTML.Это не происходит с моим кодом.Но электронная почта всегда заполняется в текстовом поле, которое вы видите на веб-странице.
function handleMessage(event) {
var arguments = event.message;
var emailStr = arguments["Email"];
var nameInputs = document.getElementsByTagName('input');
for (var i = 0; i < nameInputs.length; i++) {
var theFieldName = nameInputs[i].name.toLowerCase();
var theFieldType = nameInputs[i].type.toLowerCase();
if (theFieldName.indexOf("email") !== -1) {
if (!(emailStr === undefined)) {
nameInputs[i].value = emailStr;
filledInEmail = 1;
}
}
else if (theFieldType.indexOf("email") !== -1) {
if (!(emailStr === undefined)) {
nameInputs[i].value = emailStr;
filledInEmail = 1;
}
}
}
}