LongLoginMой код тут не причем, это CB баг.Я подумаю что с этим делать.
Так, вроде всё таки работает нижний код из этого (№18) поста, верхний глючит - при открытии панели инструментов начинает потом открывать лишние домашние страницы
А нет, я поторопился нижний тоже двоит и множит.
--------------------------
Но в принципе, если не открывать панель инструментов, то оба кода прекрасно работают.
Отредактировано LongLogin (18-09-2011 03:29:23)
Отсутствует
amin01 пишет: bunda1. Спасибо за эти коды. все отлично работает Единственное с - New Tab Homepage небольшая заминка можно сделать так, чтобы - при открытии новой вкладки, сразу на нее перекидывало (пожалуйста)! это мистика, у меня с этим кодом заминки нет и не должно быть, может ты расширение не удалил.Вот сделал другой код, может так лучше.Открыть Homepage двойным правым кликом на табе.Выделить кодКод/ If right double click in Tab the Homepage open in New Tab
gBrowser.mTabContainer.addEventListener("dblclick", function (event){
if (event.button != 2)
{return; }
event.preventDefault();
document.getElementById("tabContextMenu").hidePopup();
var HomeUrl = gPrefService.getCharPref("browser.startup.homepage");
gBrowser.selectedTab = gBrowser.addTab(HomeUrl);
}, false);или такВыделить кодКод/ If right double click in Tab the Homepage open in New Tab. Homepage tab, clear URLBar.
(function() {
// Get the root branch
var prefs = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);//getting prefs Unicode value
var HomeUrl = prefs.getComplexValue("browser.startup.homepage",
Components.interfaces.nsISupportsString).data;
//Homepage tab, clear URLBar................................
var enabled = [HomeUrl,];
gBrowser.tabContainer.addEventListener("TabSelect", function(event) {
if (enabled.indexOf(content.location.href) != -1)
gURLBar.value = "";
gURLBar.focus();
}, false);document.addEventListener( "DOMContentLoaded", function(event){
if (enabled.indexOf(content.location.href) != -1)
gURLBar.value = "";
gURLBar.focus();
}, false);
gBrowser.mTabContainer.addEventListener("dblclick", function (event){
if (event.button != 2) {
return;
}
event.preventDefault();
event.stopPropagation();
document.getElementById("tabContextMenu").hidePopup();
gBrowser.selectedTab = gBrowser.addTab(HomeUrl);
}, false);})();
Отредактировано bunda1 (Вчера 18:20:20)
Установил на новый профиль custombuttons, поставил кнопку New Tab Homepage, первый вариант с одного клика не перекидывает на открываемую вкладку хоть тресни!!! Второй вариант (Открыть Homepage двойным правым кликом на табе.) Работает Но 2 раза кликать вместо одного, как-то не айс Мож...разница в версиях у меня 3.6.22 у Вас 3,6.13 Поэтому и не работает но это так... предположение
Отредактировано amin01 (18-09-2011 05:20:47)
Отсутствует
можно сделать так, чтобы - при открытии новой вкладки, сразу на нее перекидывало (пожалуйста)!
а в настройках фф поставить Переключаться на открываемые вкладки не покатит?
Установил на новый профиль custombuttons, поставил кнопку New Tab Homepage, первый вариант с одного клика не перекидывает на открываемую вкладку хоть тресни!!!
насколько я вижу в коде и первого и второго варианта указан даблклик
вот вариант с одним кликом левой кнопкой мыши
// если нужен клик правой кнопкой то тут if (event.button != 0) меняем 0 на 2 (function() { // Get the root branch var prefs = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefBranch); //getting prefs Unicode value var HomeUrl = prefs.getComplexValue("browser.startup.homepage", Components.interfaces.nsISupportsString).data; //Homepage tab, clear URLBar................................ var enabled = [HomeUrl,]; gBrowser.tabContainer.addEventListener("TabSelect", function(event) { if (enabled.indexOf(content.location.href) != -1) gURLBar.value = ""; gURLBar.focus(); }, false); document.addEventListener( "DOMContentLoaded", function(event){ if (enabled.indexOf(content.location.href) != -1) gURLBar.value = ""; gURLBar.focus(); }, false); gBrowser.mTabContainer.addEventListener("click", function (event){ if (event.button != 0) { return; } event.preventDefault(); event.stopPropagation(); document.getElementById("tabContextMenu").hidePopup(); gBrowser.selectedTab = gBrowser.addTab(HomeUrl); }, false); })();
я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3
Отсутствует
Тут я несколько сумбурно разбирался ночью с кодом, потом редактировал посты, поэтому, повторюсь - оба кода с поста №18 работают.
Но имеется баг самого СВ, который, при открытии настроек панели инструментов, начинает множить кол-во открываемых Homepage.
Отредактировано LongLogin (18-09-2011 12:06:57)
Отсутствует
Но имеется баг самого СВ, который, при открытии настроек панели инструментов, начинает множить кол-во открываемых Homepage.
это не баг, просто идёт повторная инициализация, я с EventListener не очень разбираюсь пусть Bunda1 подправит код так чтоб в начале кода он удалял те EventListener которые используются а потому уже добавлял.
тогда будет корректно работать.
я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3
Отсутствует
а в настройках фф поставить Переключаться на открываемые вкладки не покатит?
Поставил все так-же, обновил через Update думал мож... на свежай версии заведётся, нифига. Оставлю пока расширение New Tab Homepage. Большое спасибо всем за помощь!
Отредактировано amin01 (18-09-2011 13:45:21)
Отсутствует
Но 2 раза кликать вместо одного, как-то не айс
Н-да, это знаете-ли.. м-мм, не подберу слова. Ещё и ругаться потом нецензурными словами.
Хотя возможно, действительно, кликать правой два раза неудобно\непривычно.
Но ведь левой-то, левой - самое оно.
Отсутствует
От каких расширений отказаться заменив их настройками из about:config [?]
А зачем чем-либо заменять расширения в случае если это вообще возможно? Смысл?
Если расширение - такое, что легко заменяется настройкой или кодом кнопки то где гарантия, что будет "лучше" после замены? И чем лучше?
Если расширение нельзя заменить ничем другим, а это расширение не очень нужное, то почему бы его просто не удалить навсегда, а если - нужное, то зачем его заменять? Из "спортивного интереса"?
Отсутствует
а если - нужное, то зачем его заменять? Из "спортивного интереса"?
Просто у автора темы относительно настроек в about:config откуда-то взялось мнение, что это - панацея, и этими настройками можно сделать что угодно - например, заменить функционал расширения, или как-то повлиять на этот функционал (см. соседнюю тему). Конечно же, автор очень сильно ошибается - настройками в общем случае никак и никогда не получится заменить нормальное расширение с хорошо проработанной функциональностью, или как-то повлиять на эту функциональность, если она сама не предоставляет соответствующих настроек. Точно так же, как положением рубильников в электрощите не заменить электроутюг.
Отсутствует
это не баг, просто идёт повторная инициализация, я с EventListener не очень разбираюсь пусть Bunda1 подправит код так чтоб в начале кода он удалял те EventListener которые используются а потому уже добавлял.
тогда будет корректно работать.
Нет, так тоже самое.
// Двойной клик левой кнопкой на табе, открыть домашнюю страницу. // If double left click in Tab, the Homepage open in New Tab. gBrowser.mTabContainer.removeEventListener("dblclick", NewTabHome, false); function NewTabHome(event){ if (event.button != 0) return; event.preventDefault(); event.stopPropagation(); var HomeUrl = gPrefService.getCharPref("browser.startup.homepage"); gBrowser.selectedTab = gBrowser.addTab(HomeUrl); }; gBrowser.mTabContainer.addEventListener("dblclick", NewTabHome, false);
что делать.
Отредактировано bunda1 (19-09-2011 19:17:53)
Отсутствует
Просто у автора темы относительно настроек в about:config откуда-то взялось мнение, что это - панацея, и этими настройками можно сделать что угодно - например, заменить функционал расширения, или как-то повлиять на этот функционал (см. соседнюю тему). Конечно же, автор очень сильно ошибается
Получается, что все остальные, бросившиеся "на помощь" автору в вопросе "замены расширений" ошибаются тоже?
Отсутствует
Получается, что все остальные, бросившиеся "на помощь" автору в вопросе "замены расширений" ошибаются тоже?
А вы обратите внимание на советы, которые были даны автору - только один совет (про User Agent Switcher) касался именно замены с помощью использования about:config. Все остальное - что угодно: userChrome.css, кнопки к CB (т.е. тоже расширение, просто другое), но совсем не about:config.
Отсутствует
Нет, а вот лично я автора поддерживаю. Очень нужное и правильно решение минимизировать количество расширений. Если вместо пяти расширений можно использовать один только CB, то почему бы и нет, ведь это облегчит работу браузера.
Большой кот... Пуфыстый... Полосатый... Зубастый (:
Отсутствует
Нет, а вот лично я автора поддерживаю. Очень нужное и правильно решение минимизировать количество расширений.
Кто бы спорил. Речь не о том, что это плохо или неразумно, а о том, что это в общем случае делается совсем не посредством about:config.
Отсутствует
Речь не о том, что это плохо или неразумно
Это не "плохо" и не "неразумно", это - бессмысленно. Имеет смысл что-либо менять если расширение избыточно или глючно, а не ПАТАМУША ВСЕ так присоветовали.
Отредактировано ignorecheats (19-09-2011 21:40:25)
Отсутствует
Тут я несколько сумбурно разбирался ночью с кодом, потом редактировал посты, поэтому, повторюсь - оба кода с поста №18 работают.
Но имеется баг самого СВ, который, при открытии настроек панели инструментов, начинает множить кол-во открываемых Homepage.
// Двойной клик левой кнопкой на табе, открыть домашнюю страницу. // If double left click in Tab, the Homepage open in New Tab. function NewTabHome(event){ // удаление обработчика, если функция уже выполнялась if (arguments.callee.done) removeEventListener("dblclick", NewTabHome, false, gBrowser.mTabContainer); // устанавливаем флаг, чтобы обработчик не исполнялась дважды arguments.callee.done = true; if (event.button != 0) return; event.preventDefault(); event.stopPropagation(); var HomeUrl = gPrefService.getCharPref("browser.startup.homepage"); gBrowser.selectedTab = gBrowser.addTab(HomeUrl); }; addEventListener("dblclick", NewTabHome, false, gBrowser.mTabContainer);
Отредактировано bunda1 (19-09-2011 22:22:42)
Отсутствует
Выделить кодКод:// Двойной клик левой кнопкой на табе, открыть домашнюю страницу. // If double left click in Tab, the Homepage open in New Tab. function NewTabHome(event){ // удаление обработчика, если функция уже выполнялась if (arguments.callee.done) removeEventListener("dblclick", NewTabHome, false, gBrowser.mTabContainer); // устанавливаем флаг, чтобы обработчик не исполнялась дважды arguments.callee.done = true; if (event.button != 0) return; event.preventDefault(); event.stopPropagation(); var HomeUrl = gPrefService.getCharPref("browser.startup.homepage"); gBrowser.selectedTab = gBrowser.addTab(HomeUrl); }; addEventListener("dblclick", NewTabHome, false, gBrowser.mTabContainer);спасибо okkamas_knife удаление обработчика помогла.
Отредактировано LongLogin (19-09-2011 21:33:26)
Отсутствует
bunda1
глючит,
после двух открытий - перестаёт работать
// удаление обработчика, при открытии настройки панелей this.onDestroy = function() { removeEventListener("dblclick", NewTabHome, false, gBrowser.mTabContainer); }; // Двойной клик левой кнопкой на табе, открыть домашнюю страницу. // If double left click in Tab, the Homepage open in New Tab. function NewTabHome(event){ if (event.button != 0) return; event.preventDefault(); event.stopPropagation(); var HomeUrl = gPrefService.getCharPref("browser.startup.homepage"); gBrowser.selectedTab = gBrowser.addTab(HomeUrl); }; addEventListener("dblclick", NewTabHome, false, gBrowser.mTabContainer);
Отсюда - мораль: надо открывать три раза век живи, век учись.
спасибо okkamas_knife удаление обработчика помогла.
Отредактировано bunda1 (19-09-2011 22:23:25)
Отсутствует
Отсюда - мораль: надо открывать три раза век живи, век учись.
спасибо okkamas_knife удаление обработчика помогла.
просто копаясь периодически в коде разных расширений я обратил внимание что обычно в начале кода всегда ремовят эти листенеры а потом уже как обычно создают-удаляют.
я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3
Отсутствует
Tiger.711 пишет: Нет, а вот лично я автора поддерживаю. Очень нужное и правильно решение минимизировать количество расширений.Кто бы спорил. Речь не о том, что это плохо или неразумно, а о том, что это в общем случае делается совсем не посредством about:config.
hydrolizer пишет: Речь не о том, что это плохо или неразумноЭто не "плохо" и не "неразумно", это - бессмысленно. Имеет смысл что-либо менять если расширение избыточно или глючно, а не ПАТАМУША ВСЕ так присоветовали.
Отредактировано ignorecheats (Вчера 21:40:25)
Это все не столь важно каким методом достигнуть результата about:config один из них который я знал. и что посоветовали коды для CB это даже хорошо. Если вместо пяти расширений можно использовать один только CB, то почему бы и нет, ведь это облегчит работу браузера.
Отредактировано amin01 (20-09-2011 07:25:31)
Отсутствует
Это все не столь важно каким методом достигнуть результата about:config один из них который я знал. и что посоветовали коды для CB это даже хорошо. Если вместо пяти расширений можно использовать один только CB, то почему бы и нет, ведь это облегчит работу браузера.
По приведенной ссылке ничего не говорится такого, что бы подтверждало правильность устремления "заменять" расширения, а максимум наводит на мысль об отказе от некоторых из них вообще.
А второе заявление нуждается в доказательствах, amin01, так как аксиомой не является.
Отредактировано ignorecheats (20-09-2011 21:23:17)
Отсутствует
По приведенной ссылке ничего не говорится такого, что бы подтверждало правильность устремления "заменять" расширения, а максимум наводит на мысль об отказе от некоторых из них вообще.
В моем понимании "заменить" расширения настройкой about:config, или кодом CB это - значит отказаться вообще.
А второе заявление нуждается в доказательствах, amin01, так как аксиомой не является
Эта тема не служит каким-то руководством к действию для всех. Мне не нужны доказательства! я, наглядно вижу что - заменим несколько расширений кодами CB браузер стал запускаться быстрее.
Отредактировано amin01 (21-09-2011 06:23:38)
Отсутствует
bunda1
Если не сложно, подскажите пожалуйста, как можно исправить проблему повторной инициализации кнопки Autocopy+3.
this.pref='userChrome.autocopy.autocopyState'; this.setState = function() { var state; try { state = this.PS.getIntPref(this.pref); if(state == 2) { this.image = 'data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; } else { this.image = 'data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; } } catch(ex) { state = this.PS.setIntPref(this.pref, 2); } } this.PS = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch); this.ob = {}; this.ob.observe = this.setState.bind(this); this.PS.addObserver(this.pref,this.ob,false); this.setState(); (function() { var lastSelection = ""; var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); if(!prefs.getPrefType("userChrome.autocopy.autocopyState")) prefs.setIntPref("userChrome.autocopy.autocopyState", 2); function autocopyStart(e) { lastSelection = getBrowserSelection(); } function autocopyStop(e) { var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState"); var selection = getBrowserSelection(); if(autocopyState>1 && selection && selection!=lastSelection) { goDoCommand('cmd_copy'); } } gBrowser.mPanelContainer.addEventListener("mousedown", autocopyStart, false); gBrowser.mPanelContainer.addEventListener("mouseup", autocopyStop, false); })(); /* Middle button Paste ................. */ (function() { if ("gBrowser" in window && gBrowser && gBrowser.localName == "tabbrowser") { for (var i=0; i<gBrowser.mTabs.length; i++) { var browser = gBrowser.getBrowserForTab(gBrowser.mTabs[i]); eval("browser.isAutoscrollBlocker = " + browser.isAutoscrollBlocker.toString() .replace("node instanceof HTMLTextAreaElement", "$& || node.ownerDocument && node.ownerDocument.designMode == 'on'") ); } gBrowser.mTabContainer.addEventListener("TabOpen", function(event) { var browser = gBrowser.getBrowserForTab(event.target); eval("browser.isAutoscrollBlocker = " + browser.isAutoscrollBlocker.toString() .replace("node instanceof HTMLTextAreaElement", "$& || node.ownerDocument && node.ownerDocument.designMode == 'on'") ); }, false); } window.addEventListener("click", function(event) { if (event.button != 1 || event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) return; try { var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); var mmPaste = prefs.getBoolPref("middlemouse.paste"); } finally { if (!mmPaste) return; } var node = event.originalTarget; while (node) { if (node instanceof HTMLInputElement || node instanceof HTMLTextAreaElement || node.ownerDocument && node.ownerDocument.designMode == "on") { var controller = top.document.commandDispatcher.getControllerForCommand("cmd_paste"); if (controller && controller.isCommandEnabled("cmd_paste")) { controller.doCommand("cmd_paste"); } event.stopPropagation(); return; } node = node.parentNode; } }, true); })(); // Copy Tab Info..................................... (function() { var htmlEscape = function(s) { s = s.replace(/&/g, "&"); s = s.replace(/>/g, ">"); s = s.replace(/</g, "<"); s = s.replace(/"/g, """); return s; }; var copyTabInfo = function (aAsHTML) { var tab = document.popupNode; var title = tab.label; var url = gBrowser.getBrowserForTab(tab).contentWindow.location.href; var txt = aAsHTML ? '<a href="' + htmlEscape(url) + '">' + htmlEscape(title) + '</a>' : title + "\n" + url; Cc["@mozilla.org/widget/clipboardhelper;1"] .getService(Ci.nsIClipboardHelper) .copyString(txt); }; var menuitem1 = document.createElement("menuitem"); menuitem1.setAttribute("label", "\Copy the Title and URL"); menuitem1.addEventListener("command", function() { copyTabInfo(false); }, false); setTimeout(function() { gBrowser.mStrip.childNodes[1].appendChild(document.createElement("menuseparator")); gBrowser.mStrip.childNodes[1].appendChild(menuitem1); }, 0); })(); //dblclick copy........................................ gBrowser.addEventListener("dblclick", function(event) { if (event.button != 2) { return; } event.preventDefault(); document.getElementById("contentAreaContextMenu").hidePopup(); document.getElementById("cmd_copy").doCommand(); }, false);
Отсутствует
Мне не нужны доказательства! я, наглядно вижу что - заменим несколько расширений кодами CB браузер стал запускаться быстрее.
Ого! Поздравляю ... Есть еще такие "категории" как вера, убежденность и т.д. ...
Кстати, у меня - около 130 кнопок работает в браузере, а у тебя?
Отредактировано ignorecheats (21-09-2011 19:20:47)
Отсутствует