Как сделать автофокус в адресную строку при вводе на странице текста?
(если этот текст не вводится в текст-бокс и отключена функция поиска по странице по мере ввода)
кнопки F6 и Ctrl-L знаю, хочется попробовать автоматический ввод

7zak7 пишет

(если этот текст не вводится в текст-бокс и отключена функция поиска по странице по мере ввода)

Интересная идея, конечно. Ещё желательно, чтобы курсор не находился внутри элемента с contentEditable="true". А то всякими WYSIWYG-редакторами как пользоваться :) ?

luitzen пишет

Интересная идея, конечно. Ещё желательно, чтобы курсор не находился внутри элемента с contentEditable="true". А то всякими WYSIWYG-редакторами как пользоваться :) ?

да, согласен) но надо пробовать)

может кто-нибудь может подсказать, как это сделать?

up

Для начала вот что можно сделать. Создайте кастомную кнопку и в её код инициализации поместите следующее:

Выделить код

Код:

document.getElementById("appcontent").addEventListener("keypress", func, true);

function func(e) {
    if (e.target.tagName != 'TEXTAREA' &&
        e.target.tagName != 'INPUT' &&
        e.which != 32 &&
        e.which != 8 &&
        e.which != 0 &&
        !e.ctrlKey &&
        !e.altKey)
        {
        document.getElementById('urlbar').focus();
        document.getElementById('urlbar').value = String.fromCharCode(e.which);
        }
}

А собственно в код поместите что-нибудь полезное :).

а как создать кнопку? для этого нужно скачивать custom buttons или как?

7zak7 пишет

а как создать кнопку? для этого нужно скачивать custom buttons или как?

Да, нужно установить дополнение custom buttons и создать кнопку.
Здесь есть вся необходимая информация.

Сделал! когда не полноэкранный режим (не F11), то работает отлично! просто супер удобно! но самое важно, хотелось бы, чтобы в полноэкранном работало, вылезал адрес-бар, как при нажатии F6...

можно тогда в адрес-баре и поиск по странице сделать =) (гуглом из адресной строки давно пользуюсь)

а также поиск по истории и поиск по закладкам)

в конце запроса
:p - по странице
:h - по истории
:b - по закладкам

или в начале аналогично
p:
h:
b:

заранее спасибо!

7zak7 пишет

но самое важно, хотелось бы, чтобы в полноэкранном работало, вылезал адрес-бар, как при нажатии F6...

Выделить код

Код:

{
        FullScreen.mouseoverToggle(true);
        document.getElementById('urlbar').focus();
        document.getElementById('urlbar').value = String.fromCharCode(e.which);
        }

с отключенным Autohide работает, со включенным - нет. что можно сделать?

7zak7 пишет

с отключенным Autohide работает, со включенным - нет. что можно сделать

Выделить код

Код:

{
        FullScreen.mouseoverToggle(true);
        if (fullScreen) autoHIDE.ToggleTop();
        document.getElementById('urlbar').focus();
        document.getElementById('urlbar').value = String.fromCharCode(e.which);
        }

почти... пожалуйста, если это возможно)

работает, когда включено
show/hide:
Панель навигации
Tab Bar
Windows taskbar
show all: -

но я пользуюсь только
show/hide:
Tab bar
windows taskbar
show all: -

поскольку когда навожу мышь наверх, панель навигации не нужна, тогда сложнее фокусироваться на вкладках.

но почему-то F6 срабатывает в таких режимах...
может сделать, чтобы любая клавиша срабатывала как F6 + эта клавиша?

7zak7, виноват, моя недоработка, но провести доработку, думаю, вы могли бы и самостоятельно :).

В файле autoHide.js есть такой кусочек кода:

Выделить код

Код:

EL_Input : function(e) {
    if (e.keyCode == KeyEvent.DOM_VK_RETURN && autoHIDE.topVis) {
      autoHIDE.ToggleTop()
      return
    }

    if (e.keyCode == KeyEvent.DOM_VK_F6)
      autoHIDE.ForceTopVis(gURLBar);
  }

Надеюсь, понятно, что на что нужно поменять в коде кнопки ;)?

к сожалению не осилил) если бы хоть немного шарил, то сам бы во всем разобрался, это бы было делом принципа, а так я чувствую, что я не кодер...

Выделить код

Код:

{
        FullScreen.mouseoverToggle(true);
        if (fullScreen) autoHIDE.ForceTopVis(gURLBar);
        document.getElementById('urlbar').focus();
        document.getElementById('urlbar').value = String.fromCharCode(e.which);
        }

Какие могут быть дальнейшие усовершенстования… Сделать кнопку работающей и при наличии AutoHide, и при отсутствии. И чтобы нажатие кнопки включало/выключало этот режим перевода фокуса. И чтобы фокус не переводился в строку адреса из about:config и Google Docs :).

всё, работает, супер, удобно!!! очень благодарен) большое спасибо!

а вот это моё предложение сложно реализовать? http://forum.mozilla-russia.org/viewtopic.php?id=44651