bunda1
Вперестало работать добавление и удаление закладок двойным ПКМ. Можешь поправить?
Теперь я это тоже увидел, похоже что обновляются не у всех одинаково быстро.
Отсутствует
bunda1 и Dumby
не могли бы вы переделать кнопкуГотовые кнопки для Custom Buttons | Форум Mozilla Россия | Compact Menu. Сейчас в ней, в пункте меню "Закладки" не работает ПКМ на закладке ,то есть нет доступа к контекстному меню выбранной закладки. Если это возможно.
Отсутствует
Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.
Отсутствует
rbfyec[CB]Открывать закладки левым кликом в новой вкладке не закрывая меню
А с этой кнопочкой - Открывать всё в новых вкладках, от 07.12.2013 закладки у меня и открываются в новой вкладке. Правда, с закрытием меню. Но для меня это не важно.
Но на моей картинке не закладки, а закрытые вкладки. Не недавно закрытые - те открываются в новой вкладке.
Вот я и хочу знать - эти закрытые вкладки, что на картинке - они и должны открываться в текущей или это у меня что-то глючит?
Отсутствует
Не всё так просто, надо переделать код. Кстати тебе вообще нужно что бы после восстановлении сессии лишние вкладки тоже были скрыты.
Есть какие-то подвижки в этом направлении?
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
Я разместил 7 штук СВ на панели меню (там где Файл, Правка, Вид и т. д.). И теперь при запуске браузера, особенно при первом запуске, на короткое время вместо кнопок видны какие-то чёрно-белые иконки. Потом уже отрисовываются сами кнопки. Неприятно для глаза.
Что посоветуете? Может поможет какая-то кнопка-mergeCustomButtons?
Или есть другие варианты?
Отсутствует
этот вариант в seamonkey-nightly работает до первого перезапуска(закрытия) потом кнопка становится неактивной
Увы, могу только лишь предложить попробовать так,
но после редактирования/удаления кнопки нужен рестарт.
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3ECompact%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBEAAAEAIACsBAAAFgAAACgAAAAQAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMSAAcROg8hOGEvQV1hL0JdOQ4iOBIABxH7+/uBqKioqv7+/oAAAAAAAAAAAAAAAAAAAAAAAAAAAREABhB6PEx23HZ32+uLe/7rfGv/63tr/+uKev7vv7/tp52g10BAQP6vr6+z////fwAAAAAAAAAAAAAAAR0CEB3AaHK/629j/+FbVP/bUU7/10xK/9ZLSv/sp6X/26mm/0BAQP9AQED/QEBA/9jY2KH///9/AAAAAA8ABQ+6X22+1UpK/8Y2P/+8KDX/tB0v/6sZKf+uGCz/1pae/0BAQP9AQED/QEBA/0BAQP9AQED+8fHxkQAAAAJ0M0hzxz1G/7AYLv+lDCX/ng0b/5APD/+FFgL/1Zid/3BfYf9AQED/QEBA/0BAQP9AQED/QEBA/25ubtgPAAUPt0dc2KULJf+pFCb/tygu/7w1L/+FGAH/nSsW/8OSjf+gf3//qIKB/9aTlf/Vi5P/0YSR/9yosuzw7/CHMAobMLw2Sf60Iyz/xD41/9NSPv/cYUT/0188/+VwSf/IWzj/WhID/0kFAP9zGhT/yEM4/7grL/+9Okn+Nw0fNFYoOVLAOT3/zEg6/9xhRP/qdUv/64RR/+uNVf/rk1f/65NX/9t1Q/9mGQD/YhcE/9NeP//RTz3/xEA//1wsPVlWKDhR01dI/+BnRv/rf0//65JX/+ugXP/rqV7/661g/+utYf/McDH/gS4C/4UyD//CXjX/5G5I/9hdSf9dLD5YMAoaMOp+Zf7rgE//65dZ/+upX//rtGP/671n/+vBaP/rslz/rk4K/51CBf/rjUf/64RI/+uBTf/rhGf+NQweNA4ABg7Tdm3X65NY/+uqX//rumX/68Rq/+vMbf/r0G//68pn/+u+X//cgTD/67hi/+uuYf/rmlr/2Hxv2REABhAAAAACdTlIceudYP/rrV7/66xW/+vMbf/r03D/69Zw/+vVcP/r1HD/68tr/9x+Pv/rkUz/66xo/3Y7SXMAAAACAAAAAA8ABQ+2Z2O70WIX/+uEIf/rvVb/68JY/+vPbf/rsUn/68FX/+uVRf+dNBL/zGw0/8h7dL0PAAUPAAAAAAAAAAAAAAABHAEPHL5qWrzrr0r/69CA/+vQgf/r3qv/696r/+vNgP/rrnb/rEgo/6VXW70dAg8cAAAAAQAAAAAAAAAAAAAAAAAAAAEPAAUPdztFceiUcNjrz47+69yw/+vUmf/ryIT+03pe2XIzRHMPAAUPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPAAUPMgscMlcpOlNYKTlUMwscMg8ABQ8AAAACAAAAAAAAAAAAAAAAAAAAAP//rEHwA6xBwAGsQYAArEGAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEGAAaxBgAGsQcADrEHwD6xB%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%0A%09n%20%3D%20function%28id%29%20document.getElementById%28id%29%2C%0A%09id%20%3D%20%22Compact-Menu-menupop%22%2C%20popup%20%3D%20this.popup%20%3D%20n%28id%29%3B%0Aif%20%28popup%29%20return%3B%0Avar%0A%09nodes%20%3D%20%5B%0A%0A%09%09%22menu_File%22%2C%0A%09%09%22menu_Edit%22%2C%0A%09%09%22menu_View%22%2C%0A%09%09%22history-menu%22%2C%0A%09%09%22bookmarksMenu%22%2C%0A%09%09%22tasksMenu%22%2C%0A%09%09%22windowMenu%22%2C%0A%09%09%22debugMenu%22%2C%0A%09%09%22qaMenu%22%2C%0A%09%09%22menu_Help%22%0A%0A%09%5D.map%28n%29%2C%0A%09popupAttrs%20%3D%20%7B%0A%09%09id%3A%20id%2C%0A%09%09position%3A%20%22after_start%22%2C%0A%09%09context%3A%20%22toolbar-context-menu%22%0A%09%7D%2C%0A%09mainPopupSet%20%3D%20n%28%22mainPopupSet%22%29%2C%0A%09popup%20%3D%20this.popup%20%3D%20mainPopupSet.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%0Afor%20%28var%20attr%20in%20popupAttrs%29%20popup.setAttribute%28attr%2C%20popupAttrs%5Battr%5D%29%3B%0Anodes.forEach%28function%28node%29%20node%20%26%26%20popup.appendChild%28node%29%29%3B%0A//n%28%22toolbar-menubar%22%29.collapsed%20%3D%20true%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bthis.popup.openPopup%28this%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Добавленные к кнопке первым проходом кода после второго прохода кода,
атрибуты и свойства — сохраняются, добавленные дочерние элементы — пропадают,
упомянутые в addDestructor функции — добавляются, но перед вторым проходом кода не вызываются.
Отредактировано Dumby (24-01-2014 23:41:15)
Отсутствует
Есть какие-то подвижки в этом направлении?
Да как то не идут дела, постоянно какие то ошибки в этом коде.
// Настройка функций кликов мыши для кнопки ................................ this.onclick = function(e) { // действие при клике ЛКМ .... if ( e.button == 0 ) { alert( tabArray.join("\n") ); }; // действие при клике СКМ .... if ( e.button == 1 ) gShowPopup(self); // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); if ( tabArray.length > 0 ) { hideTabs = false; gBrowser.loadOneTab( (tabArray.shift()).trim(), null, null, null, true, false); hideTabs = true; } else Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService) .showAlertNotification( self.image, self.label, 'Нет вкладок для открытия', false, "", null, ""); } }; var allTabMax = 7; // максимальное число табов var prefs = Application.prefs; var arr = prefs.getValue("CB.tabArray", 0); var tabArray = (arr == '' || arr == 0) ? [] : arr.split(","); // Отслеживать закрытие вкладок, открывать из массива адресса .... addEventListener("TabClose", function() { if ( gBrowser.visibleTabs.length < allTabMax && tabArray.length > 0 ) { // если открыто вкладок меньше чем allTabMax gBrowser.loadOneTab( (tabArray.shift()).trim(), null, null, null, true, false); } }, false, gBrowser.tabContainer ); // Блокировать открытие лишних вкладок, сохранить их адреса в массив .... var hideTabs = true; const addTab = gBrowser.addTab; eval("gBrowser.addTab = " + addTab.toString().replace('{', '{ \n if ( hideTabs && gBrowser.visibleTabs.length > allTabMax ) { tabArray.push(aURI); return; };')); addDestructor(function() { eval("gBrowser.addTab = " + addTab ); }); // Сохранять список адресов не открытых вкладок в 'about:config' .... this.onDestroy = function(reason) { if ( reason == 'delete') { arr.reset(); return; }; if ( reason == 'destructor') prefs.setValue("CB.tabArray", tabArray.join(',').trim() ); }; // Подсказка кнопки .... this.tooltipText = "Л: .... \nС: CB Меню \nП: ....";
Отсутствует
Вопрос знающим людям - как быстро по адресу получить заголовок(title) страницы не загружая её. Я тут нашёл код но он работает медленно:
var xhr = new XMLHttpRequest(); xhr.onload = function() { alert( this.responseXML.title ); } xhr.open("GET", "http://forum.mozilla-russia.org/" , true); xhr.responseType = "document"; xhr.send();
Отредактировано bunda1 (26-01-2014 01:27:34)
Отсутствует
bunda1
Не загружая не получится.
Если только этот адрес ранее посещался, тогда можно в истории посещений искать.
А применительно к XMLHttpRequest() можно попробовать на onreadystatechange/onprogress получать частичные данные (видимо, только из responseText) и вручную вытаскивать title, как вытащится – прерывать запрос.
Добавлено 26-01-2014 02:03:59
применительно к XMLHttpRequest()
var xhr = new XMLHttpRequest(); xhr.open("GET", "http://forum.mozilla-russia.org/", true); xhr.onreadystatechange = function() { var data = xhr.responseText; if(data && /<title(?:\s+[^>]*)?>([^<]*)<\/title>/i.test(data)) { xhr.abort(); var rawTitle = RegExp.$1; var parser = document.createElementNS("http://www.w3.org/1999/xhtml", "div"); parser.innerHTML = rawTitle; alert(parser.textContent); } }; xhr.send();
Отредактировано Infocatcher (26-01-2014 02:03:59)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
можно в истории посещений искать
Видимо, так:
var uri = Services.io.newURI("http://forum.mozilla-russia.org/", null, null); var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"] .getService(Components.interfaces.nsINavHistoryService); var title = historyService.getPageTitle(uri); alert(title);
Спасибо, а если страница уже есть в кеше? Что добавить для загрузки от туда тоже?
Так, по идее, кэш должен автоматически использоваться, если специально не указано иное. А если сервер запретил кэширование, то будет все равно.
Я думаю, с nsINavHistoryService проще. Вряд ли кто трет историю посещений, но сохраняет при этом кэш.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Кстати я добавил alert(xhr.readyState); в твой код за xhr.onreadystatechange = function() { и он срабатывает после того как alert(parser.textContent); показывает заголовок. Так и должно быть или xhr.abort(); не работает?
Отсутствует
Кстати я добавил alert(xhr.readyState); в твой код за xhr.onreadystatechange = function() { и он срабатывает после того как alert(parser.textContent); показывает заголовок. Так и должно быть или xhr.abort(); не работает?
По идее, отмена запроса тоже приводит к оповещению. Например, вот так это видно:
var xhr = new XMLHttpRequest(); xhr.open("GET", "http://forum.mozilla-russia.org/", true); var i = -1; xhr.onreadystatechange = function() { var data = xhr.responseText; ++i; Services.console.logStringMessage("test #" + i + " " + xhr.readyState + " " + xhr.status + "\n" + data); if(data && /<title(?:\s+[^>]*)?>([^<]*)<\/title>/i.test(data)) { var rawTitle = RegExp.$1; var parser = document.createElementNS("http://www.w3.org/1999/xhtml", "div"); parser.innerHTML = rawTitle; //alert(parser.textContent); Services.console.logStringMessage("test #" + i + " title: " + parser.textContent); xhr.abort(); } }; xhr.send();
И есть смысл сделать вот так:
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
И есть смысл сделать вот так:
Большое спасибо
Отсутствует
Я разместил 7 штук СВ на панели меню (там где Файл, Правка, Вид и т. д.). И теперь при запуске браузера, особенно при первом запуске, на короткое время вместо кнопок видны какие-то чёрно-белые иконки. Потом уже отрисовываются сами кнопки. Неприятно для глаза.
Что посоветуете? Может поможет какая-то кнопка-mergeCustomButtons?
Или есть другие варианты?
Подниму вопрос
Отсутствует
Подниму вопрос
Я сейчас переместил пять СВ кнопок на панели меню и закрыл и запустил браузер и при запуске всё нормально, кнопки появляются без всяких чёрно-белые иконок. Проверял на FF26 и win7.
Может у тебя нестандартная тема глючит.
Отсутствует
Чайник пишетПодниму вопрос
Я сейчас переместил пять СВ кнопок на панели меню и закрыл и запустил браузер и при запуске всё нормально, кнопки появляются без всяких чёрно-белые иконок. Проверял на FF26 и win7.
Может у тебя нестандартная тема глючит.
Я же говорю, что это проявляется при первом (после загрузки системы) запуске.
А тема у меня стандартная.
Отсутствует