Автофокус в расширении Google Chrome

Я сделал просто расширение Chrome - поиск с формой.

Когда я открываю расширение, фоновая настройка по умолчанию отсутствует, но для этого требуется дополнительный щелчок.

Фокус предполагается в форме popup.html.

Теперь метод JavaScript .focus() не работал. Есть ли другой способ установить фокус по умолчанию для расширений Chrome?

HTML:

JS:

document.getElementById('mydata').focus();
5 ответов

Попробуйте что-то вроде этого:

он работает для меня.


последний хром поддерживает атрибут tabindex. Таким образом, вы можете использовать

чтобы он работал без каких-либо js-кодов. просто FYI.


Проблема с расширениями chrome заключается в том, что весь файл popup.html не имеет фокуса по умолчанию. Поэтому просто не достаточно, чтобы сосредоточиться на элементе. Сначала вам нужно перезагрузить страницу.

Просто поместите следующий код в заголовок страницы:

Затем вызовите код в теге тела:

Что это. Пожалуйста, имейте в виду, что это решение - это просто работа. В будущих версиях хром исправление проблемы фокуса в расширениях, чтобы сделать это обходное решение излишним.


function setFocus(loc) {
 window.open(loc, 'popup1', 'height=655,width=710,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,minimizable=no').close();
 window.open(loc, 'popup1', 'height=655,width=710,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,minimizable=no').status.fixed();
}

Тогда:

lnkSongTitle.Attributes.Add("onclick", "javascript:setFocus('url')");

или в html onClick вызов SetFocus() function


Chrome поддерживает autofocus, который не требует JavaScript.

licensed under cc by-sa 3.0 with attribution.