Вопрос по теории.
При запуске браузера кнопка инициализируется. То есть, выходит, она будет постоянно висеть в памяти и отнимать часть ресурсов, пользуюсь я ею или нет.
Не предпочтительнее ли тогда повесить нужное действие на клавишу (через keyconfig)?
Отсутствует
При запуске браузера кнопка инициализируется. То есть, выходит, она будет постоянно висеть в памяти и отнимать часть ресурсов, пользуюсь я ею или нет.
Смотря что называть инициализацией.
Даже совершенно пустая кнопка инициализируется – браузер берет ее из хранилища, помещает в заданное место и отрисовывает.
А вот кнопки с кодом в разделе «инициализация» еще и сами при этом что-то делают. Соответственно, они чуть больше замедляют открытие новых окон.
Не предпочтительнее ли тогда повесить нужное действие на клавишу (через keyconfig)?
Возможно, только как это проверить?
keyconfig, если его еще не переделали , создает узлы <key>, которые тоже висят в памяти и для которых как-то реализовано перехватывание нажатий клавиш.
А Custom Buttons добавляет <toolbarbutton>'ы. Причем не сам добавляет, а браузер берет их из добавляемого оверлея.
Ну, то есть, наверное, быстрее ничего не отрисовывать, но чтобы что-то заявлять наверняка, надо придумать способ тестирования.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Привет всем!
При нажатии на клавишу Esc на страницах останавливается gif анимация.
Есть ли в about:config такой параметр который отвечает за остановку джифок?
Нужно для того чтобы сляпать для себя кнопочку.
***
Здесь на форуме я как то отыскал кнопочку меняющую параметры about:config
и использую код из неё как образец.Но этот код меняет только булевое значение
не подскажите что то подобное для смены числовых значений?
Отсутствует
Отсутствует
Здесь на форуме я как то отыскал кнопочку меняющую параметры about:config
и использую код из неё как образец.Но этот код меняет только булевое значение
не подскажите что то подобное для смены числовых значений?
пример - кнопка Наименьший размер шрифта
//Объявляем 'prefs','this_'......... var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); var this_ = this; //настройка функций кликов мыши(Mouse Click settings).............. this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ.... //переключаем настройки в about:config this.minFont = (custombuttons.getPrefs("font.minimum-size.x-cyrillic") == "12")? "24": "12"; prefs.setIntPref("font.minimum-size.x-cyrillic",this.minFont); //Запускаем функцию'ToggleImage' ToggleImage(event); } }; //Изменить иконку кнопки......... function ToggleImage(event){ if (custombuttons.getPrefs("font.minimum-size.x-cyrillic")=='12') { this_.image="data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYmLYlZWV/5eXl/+Xl5f/lpaW/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/lZWV/2NjY9iVlZX//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/5WVlf+Wlpb//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/5aWlv+Wlpb//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////v7+//7+/v/+/v7///////7+/v/+/v7//v7+/5aWlv+Xl5f//v7+//7+/v/+/v7/y8vL/4CAgP/r6+v/9PT0/4mJif94eHj/eHh4/3h4eP94eHj/eHh4/+Pj4//+/v7//v7+/5aWlv+Wlpb//v7+//7+/v/+/v7/np6e/w4ODv/a2tr/9vb2/y8vL/8FBQX/Ghoa/xsbG/8bGxv/Gxsb/9DQ0P/+/v7//v7+/5aWlv+Wlpb//v7+//7+/v/+/v7/np6e/w4ODv/a2tr//v7+/3Fxcf8UFBT/z8/P//Pz8//y8vL/8vLy//z8/P/+/v7//v7+/5aWlv+Xl5f//v7+//7+/v/+/v7/np6e/w4ODv/a2tr//v7+/+Li4v8VFRX/Ojo6/93d3f/+/v7//v7+//7+/v/+/v7//v7+/5aWlv+Xl5f//v7+//7+/v/+/v7/np6e/w4ODv/a2tr//v7+//7+/v+4uLj/FRUV/xsbG/+NjY3/9/f3//7+/v/+/v7//v7+/5aWlv+Wlpb//v7+//7+/v/+/v7/np6e/w4ODv/a2tr//v7+//7+/v/+/v7/3t7e/1lZWf8ICAj/WFhY//n5+f/+/v7//////5aWlv+Wlpb//v7+//7+/v/+/v7/np6e/w4ODv/a2tr//v7+//n5+f/4+Pj//v7+//r6+v+Kior/BQUF/9vb2//+/v7//v7+/5eXl/+Wlpb//v7+///////z8/P/fHx8/w4ODv/a2tr/9/f3/1NTU/9VVVX/8/Pz//v7+/+Kior/BQUF/9vb2////////v7+/5eXl/+Wlpb//v7+//7+/v/Pz8//Dg4O/w8PD//a2tr//v7+/5WVlf8HBwf/JSUl/y0tLf8KCgr/YmJi//n5+f/+/v7//v7+/5eXl/+Wlpb//v7+///////8/Pz/xsbG/4KCgv/r6+v//v7+//7+/v+vr6//YmJi/1paWv+bm5v/9vb2///////+/v7//v7+/5aWlv+Wlpb//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/////////////////+/v7//v7+/5aWlv+Xl5f//v7+//////////////////7+/v///////////////////////////////////////////////////////v7+/5aWlv+VlZX//v7+///////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/////////////////+/v7//v7+/5WVlf9iYmLYlZWV/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lZWV/2JiYtgAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE="; } else { this_.image="data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYmLYlpaW/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/lpaW/5eXl/+Xl5f/lpaW/5eXl/+Wlpb/lZWV/2NjY9iVlZX//v7+//7+/v////////////////////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/5WVlf+Xl5f//v7+//7+/v////////////////////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/5aWlv+Xl5f///////7+/v/////////////////////////////////+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/5eXl/+Wlpb/+Pj4/4CAgP94eHj/eHh4/3h4eP94eHj/e3t7/+Xl5f/+/v7//v7+//7+/v/+/v7/19fX/35+fv/m5ub//v7+/5aWlv+Xl5f/9/f3/yUlJf8FBQX/Gxsb/xsbG/8bGxv/ICAg/9TU1P/+/v7//v7+//7+/v/+/v7/s7Oz/wwMDP/R0dH//v7+/5aWlv+Wlpb//f39/2hoaP8WFhb/1tbW//Pz8//y8vL/8/Pz//z8/P/Hx8f/tra2/7a2tv+2trb/gYGB/wgICP+ampr/+vr6/5eXl/+Xl5f//v7+/9fX1/8ZGRn/QUFB/97e3v/+/v7//v7+//7+/v9PT0//AgIC/xISEv8XFxf/EBAQ/wEBAf8eHh7/9fX1/5aWlv+Wlpb//v7+//7+/v+zs7P/EhIS/x4eHv+RkZH/+fn5//7+/v/R0dH/FhYW/2tra//f39//oKCg/wsLC/+8vLz//f39/5eXl/+Xl5f//v7+//7+/v/+/v7/2tra/1ZWVv8HBwf/YGBg//r6+v/+/v7/q6ur/wwMDP+zs7P/s7Oz/wwMDP/S0tL//v7+/5eXl/+Wlpb//v7+//n5+f/5+fn//v7+//r6+v+BgYH/ERER/9ra2v/+/v7//Pz8/21tbf8hISH/lJSU/wwMDP/S0tL//v7+/5aWlv+Wlpb/+Pj4/0lJSf9bW1v/9fX1//n5+f+BgYH/EBAQ/9ra2v/+/v7//v7+//Hx8f89PT3/FBQU/wsLC//R0dH//v7+/5eXl/+Xl5f//f39/4yMjP8JCQn/Jycn/ywsLP8JCQn/aWlp//v7+//+/v7//v7+//7+/v/V1dX/GRkZ/woKCv/R0dH//v7+/5eXl/+Wlpb//v7+//v7+/+tra3/X19f/1paWv+fn5//+Pj4//7+/v/+/v7//v7+//7+/v/+/v7/urq6/35+fv/m5ub//////5aWlv+Xl5f//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////////////////////////5aWlv+Xl5f//v7+//////////////////7+/v///////////////////////////////////////////////////////v7+/5aWlv+VlZX//v7+///////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////////////////////v7+/5SUlP9iYmLYlJSU/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lJSU/2JiYtgAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE="; } }; ToggleImage(event); //подсказка............... //настройки языка(language settings)... var locale = custombuttons.getPrefs("general.useragent.locale"); this.tooltipText =(locale.indexOf("ru") == -1 ? "The smallest font size" : "Наименьший размер шрифта");
Отредактировано bunda1 (20-04-2012 18:33:01)
Отсутствует
здраствуйте. недавно попытался скачать музыку из однокласников с помощью DownloadHelper .........такой геморой ....вообщем настроил автоименование. имя песни берется из дива в котором содержится имя песни после имени идет фраза "сейчас играет" а дальше всякая лабуда с помошю регулярного выражения обрезал это все дело ....как добавить теперь ".mp3"?? в настройках такова нет попытался набросать кнопку правый клик очистить меню а левый скачать все файлы("быстрая загрузка") которые сейчас в меню кнопки DownloadHelper, .............дом инспектор не чего не подсказал вобщем в автоименовании делал так "определить раположение заголовка медиа" "/html[1]/body[1]/div[1]/div[20]" ".:..........(.*cе)" ну а тут кнопка
this. onclick = function (event){ if ( event. shiftKey) return; if (event. button == 2) { event. preventDefault (); event. stopPropagation (); var button= document.getElementById ("dwhelper-button-menupopup") var menus=button.getElementsByTagName("menu") while(menus.length >= 0) { menus[0].parentNode.removeChild(menus[0]) } } if (event. button == 0) { var button= document.getElementById ("dwhelper-button-menupopup") var menus=button.getElementsByTagName("menu") var f=menus.length for(var i=0;i<f;i++) { var tag=menus[i].getAttribute('label') menus[i].setAttribute('label',tag+".mp3") menus[i].getElementsByTagName("menupopup")[0].getElementsByTagName("menuitem")[1].click() } } }
Отредактировано Ste_pan (24-04-2012 08:40:04)
Отсутствует
есть такая кнопка Скрыть\Показать панель
Скрыть\Показать панель(Firefox)
Показывает\Скрывает панели(toolbar) с запоминанием состояния,можно использовать несколько штук
Код кнопки отсутствует,перед использованием исправьте код под себя(смотрим коментарии в секциях код и инициализация),иконку выберите свою.скрытый текстКод:Выделить кодКод:
var tlbr="custombuttons.toolbars.1"; // для второй и последующих кнопок заменить 1 на следующий порядковый номер var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); this.PS = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch); var statebar=1-this.PS.getBoolPref(tlbr); this.PS.setBoolPref(tlbr,statebar); /* ниже вводим название панели,можно посмотреть щелкнув правой мышкой на свободном месте панели учтите что стандартные панели имеют зарезервированные названия toolbar-menubar - панель меню nav-bar - панель навигации PersonalToolbar - панель закладок FindToolbar - панель поиска status-bar - статуная строка */ var tName = "название панели"; /*при использовании одной из стандартных панелей замените ниже строку document.getElementById("__customToolbar_" + tName.replace(/ /, "_")).collapsed = statebar; на document.getElementById(tName).collapsed = statebar; */ document.getElementById("__customToolbar_" + tName.replace(/ /, "_")).collapsed = statebar; this.checked=1-statebar;Инициализация:
Выделить кодКод:
/*в строке ниже для второй и последующих кнопок заменить 1 на следующий порядковый номер он должен совпадать с номером в аналогичной строке в секции код */ var tlbr="custombuttons.toolbars.1" var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); var ft2; try{ ft2 = prefs.getBoolPref(tlbr); } catch(e){ prefs.setBoolPref(tlbr, false); }; this.PS = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch); var statebar=this.PS.getBoolPref(tlbr); /* ниже вводим название панели, тоже самое что и в секции код */ var tName = "название панели"; /*при использовании одной из стандартных панелей замените ниже строку document.getElementById("__customToolbar_" + tName.replace(/ /, "_")).collapsed = statebar; на document.getElementById(tName).collapsed = statebar; */ document.getElementById("__customToolbar_" + tName.replace(/ /, "_")).collapsed = statebar; this.checked=1-statebar;
по умолчанию панель открыта.Как сделать чтоб она в закрытом виде была при запуске firefoxe
Отсутствует
Автовыделение(Firefox 3.6 +) Автовыделение
Исправил ошибки:
Не работала на Nightly
Работала некорректно при перетаскивание текста в панель поиска по странице.
Работала некорректно при переходе Назад(back) и Вперёд(forward) на странице.
Отредактировано bunda1 (25-04-2012 22:50:30)
Отсутствует
Maxut
В инициализацию.
//Объявляем tName, myBar................................................................ var tName = "Моя панель"; var myBar = document.getElementById("__customToolbar_" +tName.replace(/ /, "_")) //настройка функций кликов мыши(Mouse Click settings)................................................... this.onclick = function(event) { // Действие при клике ЛКМ if(event.button == 0) { //Показать\Скрыть мою панель... myBar.collapsed = myBar.collapsed? false: true; } }; //Скрывать мою панель при старте браузера................................................... myBar.collapsed = true; //подсказка................................................... this.tooltipText = "Скрыть\Показать мою панель";
Отредактировано bunda1 (26-04-2012 18:44:10)
Отсутствует
Подскажите, возможно ли средствами СВ сделать, чтобы при открытой панели поиска автоматически нажималась кнопка "подсветить все" ?
Не знаю как у других, но у меня сейчас так:
- открываю поиск по странице, ввожу текст, нажимаю "подсветить все" - найденное подсветилось
- переключаюсь на другую вкладку, панель поиска остается открытой, но "подсветить все" почему-то уже не активно
как сделать, чтобы при переключении на другие вкладки автоматом нажималась "подсветить все" ?
Отсутствует
Подскажите, возможно ли средствами СВ сделать, чтобы при открытой панели поиска автоматически нажималась кнопка "подсветить все" ?
Есть великолепная кнопка от bunda1, попробуй [CB]Toggle Find+3 | Форум Mozilla Россия
Отредактировано voqabuhe (27-04-2012 12:03:58)
Отсутствует
voqabuhe
Вы наверное немножко не так поняли. Нужно чтобы кнопка нажималась при переходе на другую вкладку!
А так, Toggle Find+3 кнопка хорошая, никто не спорит! Но во-первых, это огромный комбайн, а мне нужно всего-то одно автонажатие на "Подсветить все" с дальнейшим выделением найденного. А во-вторых, эта кнопка такое не умеет - та же ситуация:
переключаюсь на другую вкладку, панель поиска остается открытой, но "подсветить все" почему-то уже не активно
и соответственно, введенный в поле текст уже автоматом не ищется и не подсвечен
Даже вернувшись на прежнюю вкладку, кнопка подсветки уже отжата!!?
Отсутствует
вот частично позаимствованное из Toggle Find+3:
var highlightBtn = document.getElementById('FindToolbar').getElement('highlight'); highlightBtn.addEventListener("mouseover", function(event){ highlightBtn.setAttribute("checked", "true"); gFindBar. toggleHighlight (true); }, false);
Действие > при наведении курсором на кнопку подсветки нажать её и выделить искомое на странице
А как изменить код. чтобы при переходе по вкладкам никуда не нужно было наводиться, а оно само бы включалось?
Отсутствует
А во-вторых, эта кнопка такое не умеет - та же ситуация:
Всё она умеет, подсветка сохраняется и при переходе по вкладкам и после закрытия-открытия findbar... ПКМ по кнопке просто расставь нужные тебе настройки. И внимательно прочти описание на первой странице.
Отсутствует
voqabuhe
Да, действительно умеет, но как-то странно. Сама кнопка не нажимается, а просто подсвечивается искомый текст. Это меня и смутило.
Тем лучше, значит внутри кода точно есть то, что мне нужно
Помогите выковырять.
Добавлено:
Определил, что мне нужны обработчики:
gBrowser.tabContainer.addEventListener("TabSelect", Highlight, false);
document.addEventListener( "DOMContentLoaded", Highlight, false);
Так вот вопрос: как заставить их запускаться только тогда, когда открыта панель поиска, а когда она закрыта их останавливать?
Отредактировано Inko7 (27-04-2012 17:58:18)
Отсутствует
Определил, что мне нужны обработчики:
gBrowser.tabContainer.addEventListener("TabSelect", Highlight, false);
document.addEventListener( "DOMContentLoaded", Highlight, false);
Так вот вопрос: как заставить их запускаться только тогда, когда открыта панель поиска, а когда она закрыта их останавливать?
Тут не все так просто.
setTimeout(function() { //следим за состоянием панели поиска gFindBar.addEventListener("DOMAttrModified", function(event){ //если панель поиска открыта if (!gFindBar.hidden) { //Стоп, если установлен флаг if (this.HighlightRun) return; //устанавливаем флаг this.HighlightRun = true; //добавляем обработчики для табов gBrowser.tabContainer.addEventListener("TabSelect", Highlight, false); document.addEventListener( "DOMContentLoaded", Highlight, false); } //если панель поиска закрыта if (gFindBar.hidden) { //сбросить флаг this.HighlightRun = false; //удаляем обработчики для табов gBrowser.tabContainer.removeEventListener("TabSelect", Highlight, false); document.removeEventListener( "DOMContentLoaded", Highlight, false); } }, false); }, 500);
Лучше по простому
//добавляем обработчики для табов gBrowser.tabContainer.addEventListener("TabSelect", Highlight, false); document.addEventListener( "DOMContentLoaded", Highlight, false); Highlight = function(event) { //Стоп, если панель поиска закрыта if (gFindBar.hidden) return; ........ };
Но лучше Автовыделение(Firefox 3.6 +) Автовыделение
Отредактировано bunda1 (27-04-2012 21:15:41)
Отсутствует
bunda1
Но лучше Автовыделение(Firefox 3.6 +) Автовыделение
Эта кнопка отличная, давно ей пользуюсь (немного измененной), но нужно именно с файндбаром.
Оба варианта работать не захотели. Может я их как-то неправильно вставлял в код...
/*Initialization code*/ // настройка функций кликов мыши(Mouse Click settings) this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); // gFindBar._findField.value = ""; if (!gFindBar.hidden){Find(event)}; } else if(event.button == 1) { // Действие при клике СКМ gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); goDoCommand("cmd_selectNone"); goDoCommand("cmd_paste"); } }; function Find(s){ var findbar, textbox; var sel = content.getSelection().toString(); var findbar = document.getElementById('FindToolbar'); if('gFindBar' in window && 'onFindAgainCommand' in gFindBar){ if (sel){ gFindBar._findField.value = sel; if(gFindBar.hidden) gFindBar.onFindCommand(); var evt = document.createEvent("UIEvents"); evt.initUIEvent("input", true, false, window, 0); gFindBar._findField.dispatchEvent(evt); } else { gFindBar._highlightDoc(false); var highlightBtn = document.getElementById('FindToolbar').getElement('highlight'); highlightBtn.setAttribute("checked", "true"); gFindBar. toggleHighlight (true); } if (s) return; gFindBar.onFindAgainCommand(false); } }; // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // // Запуск/Стоп обработчиков, при открытии настройки панелей this.onDestroy = function () { // выходим, если функция уже выполнялась if (window.opencloseRun == 'stop') return; if (window.fscrollRun == 'stop') return; if (window.fclearRun == 'stop') return; window.opencloseRun = 'stop'; window.fscrollRun = 'stop'; window.fclearRun = 'stop'; // добавляем обработчики gBrowser.addEventListener("dblclick", openclose, false); gFindBar.addEventListener("DOMMouseScroll", fscroll, false); document.getAnonymousElementByAttribute(gFindBar, "anonid", "find-label").addEventListener("dblclick", fclear, true); }(); // find bar, открыть/закрыть двойным СКМ на странице function openclose(event){ if (event.button != 1) { return; } event.preventDefault(); gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); if (!gFindBar.hidden){Find(event); }; }; // find bar, поиск колесиком мыши(FindBar, Mouse Scroll find ) function fscroll(event){ //Найти (Find) gFindBar.onFindAgainCommand(event.detail < 0); }; // findbar очистить, кликнуть правим кликом на findbar's label - "Найти" function fclear(event){ if ( event.button != 1 ){ gFindBar._findField.value = '';} }; // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // gBrowser.tabContainer.addEventListener("TabSelect", function(event){if (!gFindBar.hidden){Find(event)};}, false); // document.addEventListener( "DOMContentLoaded", function(event){if (!gFindBar.hidden){Find(event)};}, false);
Отсутствует
Inko7
Много лишнего кода, можно так сжать:
// настройка функций кликов мыши(Mouse Click settings) this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); // gFindBar._findField.value = ""; if (!gFindBar.hidden){Find(event)}; } else if(event.button == 1) { // Действие при клике СКМ gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); goDoCommand("cmd_selectNone"); goDoCommand("cmd_paste"); } }; function Find(event){ gFindBar.onFindCommand(); gFindBar._highlightDoc(false); var highlightBtn = document.getElementById('FindToolbar').getElement('highlight'); highlightBtn.setAttribute("checked", "true"); gFindBar. toggleHighlight (true); if (event !== '[object Event]') gFindBar._find(gFindBar._findField.value) }; //Стоп, при открытии настройки панелей.................................................... if (window.Inko7ButRun == 'stop') return; // find bar, открыть/закрыть двойным СКМ на странице gBrowser.addEventListener("dblclick", function (event){ if (event.button !== 1) return; event.preventDefault(); gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); if (!gFindBar.hidden){Find(event)}; }, false); //FindBar, поиск колесиком мыши(FindBar, Mouse Scroll find )................................................ gFindBar.addEventListener('DOMMouseScroll', function (event){ //Найти (Find) gFindBar.onFindAgainCommand(event.detail < 0); }, false); //findbar очистить, кликнуть правим кликом на findbar's label - "Найти" document.getAnonymousElementByAttribute(gFindBar, "anonid", "find-label").addEventListener("dblclick", function (event){ if ( event.button !== 2) return; gFindBar._findField.value = ''; }, false); // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . // gBrowser.tabContainer.addEventListener("TabSelect", function(event){if (!gFindBar.hidden){Find(event)};}, false); document.addEventListener( "DOMContentLoaded", function(event){if (!gFindBar.hidden){Find(event)};}, false); //устанавливаем флаг window.Inko7ButRun = 'stop';
Автовыделение(Firefox 3.6 +) тоже работает с файндбаром.
Отредактировано bunda1 (28-04-2012 08:15:25)
Отсутствует
bunda1
Много лишнего кода, можно так сжать:
Да, так компактней, но все равно проблемы остались. Опишу ситуацию:
например, открыто 3 вкладки (с текущей темой)
открываю панель поиска нажатием на кнопку
ввожу тект для поиска, например, "bunda"
подсвечиваются найденные слова и одно из них еще и выделяется
переключаюсь на другие вкладки, там тоже слова подсвечены и одно из них выделено
закрываю панель поиска нажатием по кнопке или двойным СКМ по странице
переключаюсь на другие вкладки, там подсветка ушла, но осталось на каждой одно выделенное искомое слово
просто кликаю на странице, чтобы снять выделение и опять переключаюсь по вкладкам туда-обратно и чудо - снова все слова подсвечены с выключенным файндбаром!
и еще неприятный момент, при переключении по вкладкам сбрасывается положение страницы
можешь это проверить и по возможности исправить?
Отсутствует
можешь это проверить и по возможности исправить?
// настройка функций кликов мыши(Mouse Click settings).......................................... this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); // gFindBar._findField.value = ""; if (!gFindBar.hidden){Find(event)}; } else if(event.button == 1) { // Действие при клике СКМ gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); goDoCommand("cmd_selectNone"); goDoCommand("cmd_paste"); } }; //................................................ function Find(event){ find_flag = (event == '[object Event]'); gFindBar.toggleHighlight (false); if (gFindBar.hidden) return; gFindBar.onFindCommand(); if (!find_flag){ gFindBar._find(gFindBar._findField.value) }; document.getElementById('FindToolbar').getElement('highlight').setAttribute("checked", "true"); gFindBar.toggleHighlight(true); }; //Стоп, при открытии настройки панелей.................................................... if (window.Inko7ButRun == 'stop') return; // find bar, открыть/закрыть двойным СКМ на странице................................................ gBrowser.addEventListener("dblclick", function (event){ if (event.button !== 1) return; event.preventDefault(); gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); if (!gFindBar.hidden){Find(event)}; }, false); //FindBar, поиск колесиком мыши(FindBar, Mouse Scroll find )................................................ gFindBar.addEventListener('DOMMouseScroll', function (event){ //Найти (Find) gFindBar.onFindAgainCommand(event.detail < 0); }, false); //findbar очистить, кликнуть правим кликом на findbar's label - "Найти"................................................ document.getAnonymousElementByAttribute(gFindBar, "anonid", "find-label").addEventListener("dblclick", function (event){ if ( event.button !== 2) return; gFindBar._findField.value = ''; }, false); //................................................ //обработчики для табов... gBrowser.tabContainer.addEventListener("TabSelect", function(event){ Find(event) }, false); document.addEventListener( "DOMContentLoaded", function(event){ Find(event) }, false); //обработчик для FindBar.. gFindBar.addEventListener("DOMAttrModified", function(event){if (gFindBar.hidden){ gFindBar.toggleHighlight(false) }}, false); //устанавливаем флаг window.Inko7ButRun = 'stop';
Отредактировано bunda1 (28-04-2012 19:47:13)
Отсутствует