положи в «Инициализацию»: if (!TabView._window) TabView._initFrame();
Вот так сразу работает! Спасибо.
Но меня беспокоит другое - если там, в углу, уже есть группа и если она «большая»,
то новая «растолкает» и расположится, а если «маленькая», то новая её накроет.
та да, есть такое
Еще вопросик по тем же группам:
можно ли также в "один клик" закрыть текущую группу со всеми открытыми в ней вкладками?
просто хочу и открытие и закрытие поместить в одну кнопку...
Отсутствует
можно ли также в "один клик" закрыть текущую группу со всеми открытыми в ней вкладками?
var group = TabView._window.GroupItems._activeGroupItem; group.fadeAwayUndoButtonDelay = 0; group.closeAll();
Но глюк заметил, если взять папку с закладками и «Открыть всё во вкладках»
Отсутствует
bunda1
Я уже спрашивал, может не заметили. Как можно в кнопке "Stf" сделать так что-бы вызов окна сохранения открывал определенную папку, а не последнюю сохраненную, приходится каждый раз выбираться по дереву папок, что-бы сохранить в нужную. Спасибо.
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
villa7
Я не знаю как сделать что-бы вызов окна сохранения открывал определенную папку, но могу сделать так что бы кнопка "Stf" сохраняла файл в нужную папку без запроса и окна сохранения.
Что скажешь.
Отсутствует
bunda1
но могу сделать так что бы кнопка "Stf" сохраняла файл в нужную папку без запроса и окна сохранения.
Что скажешь.
Конечно подойдет и без диалога, и даже еще лучше, я все равно пользуюсь этой кнопкой только для сохранения в эту папку. Вдруг нужно, путь сохранения - G:\URL
Отредактировано villa7 (03-10-2012 00:10:44)
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
Конечно подойдет и без диалога, и даже еще лучше, я все равно пользуюсь этой кнопкой только для сохранения в эту папку. Вдруг нужно, путь сохранения - G:\URL
Позже сделаю, сейчас нет времени.
Отредактировано bunda1 (03-10-2012 04:51:47)
Отсутствует
Извиняюсь, но это снова я с вопросом по группам вкладок...
var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; var tabItem = groupItems. getNextGroupItemTab (true); gBrowser. selectedTab = tabItem. tab;
Отсутствует
Ммм?
var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; var tabItem = groupItems. getNextGroupItemTab (false); gBrowser. selectedTab = tabItem. tab;
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher
с первым кодом не понял - вызывает неактивность кнопки
А вот второй работает! Спасибо.
Странно, что сам вначале пробовал менять true на false и у меня не получалось, а сейчас сработало! Урррааа!
И в догонку вопросик:
как можно узнать общее количество открытых групп?
хочу как-нибудь попытаться эту цифру вывести для отображения на кнопку
Отредактировано Inko7 (03-10-2012 16:12:45)
Отсутствует
Inko7
Первый код – кусок исходника функции getNextGroupItemTab, он и не должен работать.
Это к способу поиска решения.
Можно так:
Инструменты – Веб-разработка – Простой редактор JavaScript (Shift+F4)
Окружение – Браузер
Далее мы ишем groupItems.что_то_там для перехода к предыдущей группе:
var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; // В данном случае простой способ не работает: //JSON.stringify(groupItems, null, "\t"); var r = []; for(var p in groupItems) r.push(p + " = " + groupItems[p]); r.join("\n");
Ctrl+L
В результате получаем все свойства groupItems.
Там видно, что других get*GroupItemTab нет, но у getNextGroupItemTab() есть аргумент reverse.
Или то же самое из консоли ошибок, только нужно или подкорректировать, или завернуть код в
Добавлено 03-10-2012 16:28:14
как можно узнать общее количество открытых групп?
Видимо,
var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; alert(groupItems.groupItems.length);
Отредактировано Infocatcher (03-10-2012 16:28:14)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
okkamas_knife
Можно, даже есть какой-то UAControl.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
ну так прописываешь туда нужное значение а потом вызываешь диалог.
Отличная идея, прям как regedit в нужном месте открыть...
А ещё можно твой сниппет «Сохранение файла с выбором» дополнить
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
fp.init(window, "", fp.modeSave);
fp.defaultString = MyFilename;
fp.appendFilters(fp.filterHTML);
fp.appendFilters(fp.filterAll);
//===========================================================
var MyPath = "C:\\"; // путь сохранения
var dir = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
dir.initWithPath(MyPath);
fp.displayDirectory = dir;
//===========================================================
if(fp.show() == fp.returnCancel) return;
var stream = Components.classes['@mozilla.org/network/file-output-stream;1']
.createInstance(Components.interfaces.nsIFileOutputStream);
stream.init(fp.file, 0x02|0x20|0x08, 0666, 0);
stream.write(MyFile, MyFile.length);
stream.close();
Отредактировано Dumby (03-10-2012 18:40:07)
Отсутствует
Infocatcher
у меня уже разрыв мозга по поводу количества групп
var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; alert(groupItems.groupItems.length);
так, как ты написал с алертом все ок
но если вместо строки алерта ввожу такую строку
кнопка становиться неактивной, в консоли пишет:
Ошибка: TypeError: groupItems is undefined
Источник: chrome://custombuttons/content/button.js?windowId=Firefox&id=custombuttons-button17@init
Строка: 10
эт чего за напасть такая???
Отсутствует
Inko7
Видимо, как и тут группы еще не запустились на момент выполнения кода из инициализации.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
так я выполнил совет:
положи в «Инициализацию»: if (!TabView._window) TabView._initFrame();
поместил в самом верху кода и все работало
значит надо как-то задержку ввести после этой команды, да?
я просто хотел в зависимости от значения groupItems.groupItems.length присваивать различные иконки кнопке и столкнулся с такой фигней...
И еще, не знаю как точно объяснить, можно ли переделать обработчик жестко привязанный к номеру CB-кнопки:
document.getElementById("custombuttons-button18").addEventListener("DOMMouseScroll", tabscroll, false);
на такой, но без привязки, типа this
Отредактировано Inko7 (04-10-2012 17:12:10)
Отсутствует
И еще, не знаю как точно объяснить, можно ли переделать обработчик жестко привязанный к номеру CB-кнопки:
Выделить кодКод:
document.getElementById("custombuttons-button18").addEventListener("DOMMouseScroll", tabscroll, false);на такой, но без привязки, типа this
this.addEventListener("DOMMouseScroll", function(event) { custombuttons.alertSlide("alert", (event.detail < 0)? "верх": "вниз" ) }, false);
Отсутствует
хочу порекомендовать щасливым обладателям замечательной кнопки BB: Color Menu (Firefox 3.6 +) оригинальное решение - воспользоваться кнопкой Вставка символа
но могу сделать так что бы кнопка "Stf" сохраняла файл в нужную папку без запроса и окна сохранения
да, это было бы хорошо, это усовершенствование как бы логически следует из предложенно7го функционала
Отредактировано LongLogin (04-10-2012 20:40:28)
Отсутствует
поместил в самом верху кода и все работало
значит надо как-то задержку ввести после этой команды, да?
У функции TabView._initFrame есть аргумент callback, попробуй использовать его.
var Номер_Алерта = 0; function Когда_Результат_Достигнут() { alert("Alert №" + (Номер_Алерта += 1) + ". Когда Результат Достигнут: TabView._window = " + TabView._window); } TabView._initFrame(Когда_Результат_Достигнут); // да-да тащи окно алерта в сторону... alert("Alert №" + (Номер_Алерта += 1) + ". Вот прямо так сразу: TabView._window = " + TabView._window); // UPD: Да, и ещё alert('Alert №' + (Номер_Алерта += 1) + '. (document.getElementById("tab-view").contentWindow === TabView._window) = ' + (document.getElementById("tab-view").contentWindow === TabView._window));
Отредактировано Dumby (05-10-2012 03:18:56)
Отсутствует