наверное последний вопрос)
можно ли реализовать таймер? я пробовал, но видно чего-то не понимаю.
Sometimes I give myself the creeps,
Sometimes my mind plays tricks on me...
Отсутствует
...
можно ли реализовать таймер?...
Можно.
1.1. Запуск таймера:
if (!document. getElementById ("timer_label")) { var x = document. createElement ("label"); x. setAttribute ("id", "timer_label"); var mt = document. getElementById ("toolbar-menubar"); var ts = document. getElementById ("menubar-items"). nextSibling; mt. insertBefore (x, ts); window. timerVal = 0; window. timerFunc = function () { var y = document. getElementById ("timer_label"); y. setAttribute ("value", window. timerVal++); } window. timerID = window. setInterval (window. timerFunc, 1000); }
1.2. Остановка:
var x = document. getElementById ("timer_label"); if (x) { x. parentNode. removeChild (x); window. clearInterval (window. timerID); }
2. Отложенное выполнение:
window. timeoutID = window. setTimeout (function () { alert ("delayed action"); }, 5000);
Шаблоны:
1. Таймеры
1.1. Запуск таймера:
var TimerID = "newTimerID"; // строка-идентификатор таймера, должна быть уникальной для каждого нового таймера var TimerFN = "newTimerFN"; // строка-идентификатор функции таймера var TimerVL = "newTimerVL"; // строка-идентификатор "связанного" с таймером значения, должна быть уникальной для каждого нового таймера var interval = 1000; // значение задержки if (!window [TimerID]) { window [TimerFN] = function () { // действия по таймеру ... } // действия, единожды выполняемые при запуске таймера ... window [TimerVL] = 0; window [TimerID] = window. setInterval (window [TimerFN], interval); }
1.2. Останов таймера:
var TimerID = "newTimerID"; var TimerFN = "newTimerFN"; var TimerVL = "newTimerVL"; if (window [TimerID]) { window. clearInterval (window [TimerID]); window [TimerID] = undefined; window [TimerFN] = undefined; window [TimerVL] = undefined; // действия, выполняемые при останове таймера ... }
2. Таймауты
2.1. Инициализация
var TimeoutID = "newTimeoutID"; // строка-идентификатор таймаута, должна быть уникальной для каждого нового таймаута var TimeoutFN = "newTimeoutFN"; // строка-идентификатор функции таймаута var interval = 10000; // интервал задержки if (!window [TimeoutID]) { window [TimeoutFN] = function () { window [TimeoutID] = undefined; window [TimeoutFN] = undefined; // действия по таймауту ... } // действия, выполняемые перед инициализацией таймаута ... window [TimeoutID] = window. setTimeout (window [TimeoutFN], interval); }
2.2. Отмена таймаута
var TimeoutID = "newTimeoutID"; var TimeoutFN = "newTimeoutFN"; if (window [TimeoutID]) { window. clearTimeout (window [TimeoutID]); window [TimeoutID] = undefined; window [TimeoutFN] = undefined; // действия, выполняемые при отмене таймаута ... }
Отредактировано Anton (30-12-2005 19:10:44)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
таймаут то что надо)
эксперимент показал что с помощью keyconfig можно очень многое. удалось повесить на горячую клавишу запуск программы, код из external app buttons. и проверку орфографии вордом с помощью оперного spell.vbs.
Отредактировано Bananas (31-12-2005 03:59:55)
Sometimes I give myself the creeps,
Sometimes my mind plays tricks on me...
Отсутствует
Все, я вроде разобрался с установкой горячих клавиш в FF и TB.
Путь к успеху таков: смотря что настраиваем FF или TB, ставим расширения:
MenuManipulator для FF и/или MenuManipulator для TB.
Затем расширение keyconfig.
Установив расширения запускаем браузер/почтовик.
Заходим в Инструменты->Расширения->MenuManipulator.
В MenuManipulator напротив настраиваемой команды смотрим значение command или oncommand.
Копируем его (Edit->Ctrl-C).
Запускам keyconfig и создаем новое сочетание для нужной команды: Add a new key.
В поле Name пишем любое имя для будущей команды (например "Обновить все вкладки").
В поле /* CODE */ пишем значение того самого command или oncommand, которые мы смотрели при помощи ->MenuManipulator (например "gBrowser.reloadAllTabs();")
Вот, собственно и все. Перезапускаем браузер/почтовик.
Если вышеуказанная методика не работает, можно попробовать следующую.
Шаблон:
var y = document. getElementsByAttribute ("label", "Расширения"); y.item(0).click();
В первой строке указывается название необходимого пункта меню. Во второй строке, возможно, придется "поиграться" с числами. Диапазон изменения чисел можно узнать, заменив вторую строку следующим кодом:
Если alert показывает, допустим, 2, то возможные значения будут 0, 1.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Тебе как к гуру такой вопрос, можно ли при помощи keyconfig назначить горячую клавишу на открытие какой-либо страницы?
P.S. Конкретно, есть закладка Force Wrap, хотелось бы повесить на нее гор. клавишу.
Тут должна была быть подпись. А, да... Вот она и есть.
Отсутствует
...можно ли при помощи keyconfig назначить горячую клавишу на открытие какой-либо страницы?
P.S. Конкретно, есть закладка Force Wrap, хотелось бы повесить на нее гор. клавишу.
Извиняюсь, сейчас только заметил. Можно. Вот так:
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Как сделать переход по вкладкам (на левую и на правую) с помощью клавиш 1 и 2?
Next Tab
Previous Tab
Homo sum: humāni nihil a me aliēnum puto
Отсутствует
Вперед: BrowserForward(); Назад: BrowserBack(); К началу: BrowserHome(); Обновить из сети: BrowserReloadSkipCache() Уменьшить размер шрифта: ZoomManager.prototype.getInstance().reduce(); Увеличить размер шрифта: ZoomManager.prototype.getInstance().enlarge(); Обычный размер шрифта: ZoomManager.prototype.getInstance().reset(); Полноэкранный режим: BrowserFullScreen(); Информация о странице: BrowserPageInfo(); Найти на этой странице: onFindCmd(); Найти следующее: onFindAgainCmd(); Найти предыдущее: onFindPreviousCmd(); Добавить страницу в закладки: addBookmarkAs(document.getElementById('content'), false); Добавить вкладки в закладки: addBookmarkAs(document.getElementById('content'), true); Свойства закладки: goDoCommand('cmd_bm_properties');
P.S. Помните, что на одно и тоже действие можно назначать более одной комбинации клавиш.
Сочетания клавиш вида: Ctrl+... , Ctr+Alt+... , Ctrl+Shift+... , Ctrl+Alt+Shift+... работаю как для русской, так и для английской раскладки.
Если хотите использовать сочетания: отдельная буква [к примеру G: /* CODE */ ILO.indicatorClick();] , а также Alt+... , Alt+Shift+... , Shift+... как для русской, так и для английской раскладки придется продублировать соответствующее сочетание для русской раскладки [к примеру П: /* CODE */ ILO.indicatorClick();]
P.S.S. Кто у нас шибко грамотный, оформите, пожалуйста, статью http://forum.mozilla.ru/doku.php?id=general:tips:hotkeys по-человечески.
Тут должна была быть подпись. А, да... Вот она и есть.
Отсутствует
1. Следующая вкладка: gBrowser.mTabContainer.advanceSelectedTab(1); 2. Предыдущая вкладка: gBrowser.mTabContainer.advanceSelectedTab(-1);
gBrowser.mTabContainer.advanceSelectedTab(1,true); gBrowser.mTabContainer.advanceSelectedTab(-1,true);
Так будет более правильно.
Тут должна была быть подпись. А, да... Вот она и есть.
Отсутствует
Можешь поставить расширение Autohide - в полноэкранном режиме скрывает/показывает любые панели.
Еще расширения из этой же серии: autoHideStatusbar и hidetabbar
Тут должна была быть подпись. А, да... Вот она и есть.
Отсутствует
хм.. а можно повесить вызов меню на клавишу?
Можно.
Для контекстного меню просто (слишком просто ;))
var cm = document. getElementById ("contentAreaContextMenu"); cm. showPopup (window. getBrowser (), 0, 0, "context");
Для главного меню посложней:
var reqMenu = "view-menu"; var x = 0; var y = 0; var fm = document. getElementById (reqMenu); var fmp = fm. getElementsByTagName ("menupopup")[0]; var ps = document. getElementById ("keyconfigPopups"); if (!ps) { ps=document. createElement("popupset"); ps. setAttribute ("id", "keyconfigPopups"); window. getBrowser (). appendChild (ps); } var nfmp = fmp. cloneNode (true); if (!ps. getElementsByAttribute ("id", reqMenu) [0]) ps. appendChild (nfmp); else nfmp = ps. getElementsByAttribute ("id", reqMenu) [0]; nfmp. showPopup (window. getBrowser (), x, y, "context");
Пункты главного меню | Значения переменной reqMenu |
Файл | file-menu |
Правка | edit-menu |
Вид | view-menu |
Переход | go-menu |
Закладки | bookmarks-menu |
Инструменты | tools-menu |
Справка | helpMenu |
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
если панель меню скрыть?
Отредактировано Dimanish (14-01-2006 16:08:15)
Тут должна была быть подпись. А, да... Вот она и есть.
Отсутствует
спасибо, работает, можно избавиться от панели меню)
правда если открыто два окна получается, что x, y координаты относительно первого окна, т.е. когда я пытаюсь указать для х половину ширины окна (focusedWindow) меню появляется не там где ожидается...
и еще не совсем понятно как добраться до координат курсора..
---
исправилось добавлением соотв. screenX screenY
Отредактировано Bananas (14-01-2006 20:06:39)
Sometimes I give myself the creeps,
Sometimes my mind plays tricks on me...
Отсутствует
1.
меню bookmarks вызванное таким образом не содержит закладок((
У меня всё в порядке - закладки в меню отображаются.
2.
Немного изменил код для учёта состояния "галочек" в меню:
var reqMenu = "bookmarks-menu"; var fm = document. getElementById (reqMenu); var fmp = fm. getElementsByTagName ("menupopup")[0]; var ps = document. getElementById ("keyconfigPopups"); if (!ps) { ps=document. createElement("popupset"); ps. setAttribute ("id", "keyconfigPopups"); window. getBrowser (). appendChild (ps); } var nfmp = fmp. cloneNode (true); if (ps. getElementsByTagName ("menupopup"). length > 0) { var op = ps. getElementsByTagName ("menupopup") [0]; ps. removeChild (op); } ps. appendChild (nfmp); nfmp. showPopup (window. getBrowser (), 20, 20, "context");
Отредактировано Anton (04-02-2006 13:10:44)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Можно ли сделать возврат к последнему N выбранному табу в обе стороны, как в TBE:Focus Previously Selected Tab Module?
Без бага и ошибки я софт Mozilla не люблю!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Microsoft® Office Outlook® 2007 (12.0.4518.1014) MSO (12.0.4518.1014)
Отсутствует
Есть табы 1, 2, 3, 4, 5, 6, 7. Они были просмотрены в порядке 5→4→2→3. С помощью TBE:FPST можно перемещаться по истории просмотра табов, т.е. по нажатию одной клавиши это будет история назад (3→2→4→5), другой — историю вперёд (если текущая вкладка по переходу назад — 2, то доступно перемещение вперёд: 4→2→3). Т.е. это расширенный вариант функции TabFlip, активизирующую последний выбранный таб.
Без бага и ошибки я софт Mozilla не люблю!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Microsoft® Office Outlook® 2007 (12.0.4518.1014) MSO (12.0.4518.1014)
Отсутствует
Можно ли сделать возврат к последнему N выбранному табу в обе стороны, как в TBE:Focus Previously Selected Tab Module?
Можно. Правда, средствами одного keyconfig это будет сложно. Поэтому приведу решение для keyconfig+TBE (с включенным tabflip).
Вперёд по истории просмотра:
var cont = document. getElementById ("content"); cont. advanceSelectedTabByLastFocusedTime (1);
Назад по истории просмотра:
var cont = document. getElementById ("content"); cont. advanceSelectedTabByLastFocusedTime (-1);
Не проверял, но, возможно 1/-1 можно заменить на n/-n.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует