Не надо ничего удалять.
Тогда совсем не понял, как сделать чтобы меню не закрывалось.
Может у тебя для добавления закладок ещё какой код установлен?
Нет все предыдущие версии добавления и удаления закладок удалил.
Отсутствует
У меня добавляется без закрытия меню
Как оказалось у меня тоже, а закрывается меню только при добавление в закладки страниц этой темы, т.е Custom Buttons.
но обнаружил другой глюк, добавленную закладку нельзя переместить, проверь у себя.
Да подтверждаю. И ещё один обнаружил. Если добавить закладку в папку и не закрывая меню сразу удалить её, то она всё равно отображается, хотя реально удаляется. Вышел, зашёл её нет. Если после добавления меню закрыть и снова зайти, то удаляется без проблем.
Добавлено 25-10-2014 13:51:51
bunda1
Кстати, а почему у меня тогда после СКМ меню закрывается?
Отредактировано voqabuhe (25-10-2014 14:24:37)
Отсутствует
Как оказалось у меня тоже, а закрывается меню только при добавление в закладки страниц этой темы, т.е Custom Buttons.
Не подтверждаю. Может обнови
Если добавить закладку в папку и не закрывая меню сразу удалить её, то она всё равно отображается, хотя реально удаляется. Вышел, зашёл её нет. Если после добавления меню закрыть и снова зайти, то удаляется без проблем.
Не подтверждаю.
Кстати, а почему у меня тогда после СКМ меню закрывается?
У меня тоже закрывается и открывает закладку в двух новых вкладках и я тоже хочу знать почему это происходит.
Общем на они что у закладок поломали или изменили не по детски.
Отсутствует
Не подтверждаю. Может обнови
Она у меня крайняя, вчерашняя, или ты про почасовую?
У меня тоже закрывается и открывает закладку в двух новых вкладках и я тоже хочу знать почему это происходит.
Да, у меня как оказалось тоже в двух экземплярах. Выяснил после удаления вот этого кода
// средний клик открвыяет закладку в текущей вкладке .... if ( e.button == 1 && type == 'mouseup' && target.localName !== "menuseparator" ) { addEventListener("click", function(e) { // обработчик блокирует действие по умолчанию для клика e.stopPropagation(); gBrowser.loadURI( target._placesNode.uri ); // открыть закладку removeEventListener( e.type, arguments.callee, true ); }, true ); };
Это из №7431
Отредактировано voqabuhe (25-10-2014 15:22:48)
Отсутствует
Она у меня крайняя, вчерашняя, или ты про почасовую?
36.01
Может ты этот код подработаешь?
Нет, он мне не нравится.
Это из №7431
Ааааа, при чём тут этот код.
Отредактировано bunda1 (25-10-2014 15:35:01)
Отсутствует
36.01
Может 36.0a1 (2012-10-24)?
Ааааа, при чём тут этот код.
Ну как, я же из него взял
// средний клик открвыяет закладку в текущей вкладке .... if ( e.button == 1 && type == 'mouseup' && target.localName !== "menuseparator" ) { addEventListener("click", function(e) { // обработчик блокирует действие по умолчанию для клика e.stopPropagation(); gBrowser.loadURI( target._placesNode.uri ); // открыть закладку removeEventListener( e.type, arguments.callee, true ); }, true ); };
С ним практически всё работает, как уже сказал выше. Пока так и оставил, временно не буду пользоваться СКМ из боковой панели.
Отсутствует
voqabuhe
Я подправил СКМ:
// Управление закладками, от 25.10.2014. ................................ (function func() { // страницы где левый длинный клик открывает закладку в текущей странице var current = ["about:newtab", "about:blank", "chrome://browser/content/bookmarks/bookmarksPanel.xul"]; const background = true; // открывать закладку в фоновой вкладке const nextToCurrent = false; // открывать закладку рядом с текущей вкладкой const menuAutoClose = false; // автоматически закрыть меню закладок при уходе курсора function handleClick(e) { var target = e.originalTarget; var sidebar = target.ownerDocument.defaultView.top !== content && target.id == 'bookmarks-view-children'; if ( !sidebar && !target._placesNode ) return; // стоп, если не закладка, папка, разделитель // получить закладку, адрес, папку и id закладки, другие переменные if ( sidebar ) { var tree = target.parentNode; var box = tree.treeBoxObject; var row = box.getRowAt(e.clientX, e.clientY); var node = tree.view.nodeForTreeIndex(row); } var node = sidebar ? node : target._placesNode, id = node.itemId, uri = node.uri, button = e.button, type = e.type, isFolder = PlacesUtils.nodeIsContainer(node), isURI = PlacesUtils.nodeIsURI(node); // двойной клик добавляет закладку или удаляет закладку, разделитель .... if ( button !== 1 && type == 'mouseup' ) { if ( button == 0 && func.flag == true && isFolder ) { addBookmark(node, false); node.containerOpen = !node.containerOpen; } if ( button == 2 && func.flag == true && !isFolder ) { setTimeout(function() { target.ownerDocument.getElementById("placesContext").hidePopup() try { PlacesUtils.bookmarks.removeItem(id) } catch(e) {}; }, 0); } func.flag = true; setTimeout(function() func.flag = false, 400 ); } if ( isFolder ) return; // стоп, если папка закладок if ( button == 0 ) window.clearTimeout( func.timer ); // сбросить таймер длинного клика // блокировать действие по умолчанию для клика и отжатия .... if ( button !== 2 && /click|mouseup/.test(type) ) { e.preventDefault(); e.stopPropagation(); } // левый длинный клик добавляет текущую вкладку в закладки под нажатой закладкой .... if ( button == 0 && type == 'mousedown' ) { func.loadBook = true; func.timer = setTimeout(function() { func.loadBook = false; addBookmark(node.parent, id); }, 400 ); } // левый клик открывает закладку в новой или текущей вкладке .... if ( button == 0 && type == 'mouseup' && func.loadBook && isURI ) { ( uri.startsWith("javascript") || current.indexOf(content.location.href) !== -1 || e.ctrlKey ) ? gBrowser.loadURI( uri ) : gBrowser.loadOneTab( uri, {relatedToCurrent: nextToCurrent, inBackground: background, referrerURI: null } ); } // средний клик открывает закладку в текущей вкладке .... if ( button == 1 && type == 'mouseup' && isURI ) { gBrowser.loadURI( uri ); } // автоматически закрыть все меню закладок при уходе курсора .... var menu = target.parentNode; if ( !menuAutoClose || !menu || menu.localName !== 'menupopup' || button == 2 ) return; menu.onmouseover = function() func.mo = false; menu.onmouseleave = function() { func.mo = true; setTimeout(function(mp) { if (func.mo) mp.hidePopup(), mp.onmouseleave = ""; }, 450, this) }; }; ["click", "dragstart", "mouseup", "mousedown"] .forEach(function(type) addEventListener(type, handleClick, true) ); // добавить страницу в закладки в указанной папке .... function addBookmark(folder, id) { var title = gBrowser.mCurrentTab.label; var index = id ? PlacesUtils.bookmarks.getItemIndex(id) + 1 : 0; var readOnlyFolder = PlacesUtils.nodeIsQuery(folder); if ( !readOnlyFolder ) PlacesUtils.bookmarks.insertBookmark(PlacesUtils.getConcreteItemId(folder), gBrowser.currentURI, index, title); // всплывающая подсказка if ( id ) return; var al = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService) if ( readOnlyFolder ) { al.showAlertNotification("chrome://global/skin/icons/error-16.png", folder.title, "Не поддерживается"); return; } var icon = gBrowser.mCurrentTab.image || "chrome://global/skin/icons/information-16.png"; al.showAlertNotification(icon, "Добавил в папку " + (folder.title || "(без заголовка)") + ":", title.slice(0, 100)); }; })();
Отсутствует
Я подправил СКМ:
Да со СКМ всё путём. Спасибо большое. У меня только остался теперь странный баг с добавлением в закладки именно этой темы, причём к закрытию меню, добавилось ещё и открытие дополнительной вкладки. Т.е добовляю закладку двойным ЛКМ по вложенной папке, она добовляется и сразу ещё раз открывается и меню закрывается, как-то так. И главное только с этой темой, откуда такая нелюбовь
Отредактировано voqabuhe (25-10-2014 16:30:54)
Отсутствует
По моему вопросу никто так и не ответил. Жаль
Честно говоря, я не сильно-то и расчитывал, но оооочень хотелось. Может все-таки будет у кого свободная минутка, хоть оценить, реальная ли это вообще задача по доработке/переделке или лучше и не стоит заморачиваться?
Отсутствует
По моему вопросу никто так и не ответил. Жаль
Честно говоря, я не сильно-то и расчитывал, но оооочень хотелось. Может все-таки будет у кого свободная минутка, хоть оценить, реальная ли это вообще задача по доработке/переделке или лучше и не стоит заморачиваться?
Всё это возможно но требует время.
Отсутствует
bunda1, вот здесь вы давали код кнопки, добавляющей в контекстное меню открытие торрента в соответствующей программе программе https://forum.mozilla-russia.org/viewto … 80#p664080
Возможно ли то же самое для флеш видео - открыть в плеере, чтобы фильм онлайн смотреть в сторонней программе, например vlc player ?
Отсутствует
bunda1, вот здесь вы давали код кнопки, добавляющей в контекстное меню открытие торрента в соответствующей программе программе https://forum.mozilla-russia.org/viewto … 80#p664080
Возможно ли то же самое для флеш видео - открыть в плеере, чтобы фильм онлайн смотреть в сторонней программе, например vlc player ?
Отсутствует
Baron_а в чем проблема то? измени название пункта меню и адрес программы укажи и всё
по сути разница есть µTorren внешнее ПО, флеш плеер базируется не на ссылках, как таковых, хотя проблемы я не вижу, но подход иной - более простой и сложный, так как втащить прямую ссылку будет не просто, но не невозможно.
Отредактировано Indomito (27-10-2014 08:52:09)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Объясните по простому — только не надо давать ссылки на англ. ресурсы — чем отличаются окна, открытые из СкратчПада методом window.open().
ScratchPad в контексте содежимого
1) Если 3-й параметр не прописан, то в ФФ откроется новое окно с урлом, заданным первым параметром, без всяких панелей (только адресн. строка и та неактивная). Правильно?
2) Если название (2-й параметр) это "_self" или "_top" - урл из первого параметра открывается в текущей вкладке.
ScratchPad в контексте браузера
1) Если 2-й и 3-й параметр не прописан (или 2-й параметр это обычное имя окна, не _top и не _self) - то в ФФ открывается обычное новое окно с заданным урлом.
2) Если 2-й параметр не прописан (или 2-й параметр это обычное имя окна, не _top и не _self), а 3-й параметр есть - открывается
окошко заданного размера с заданными панелями.
3) Если 2-й параметр это _top или _self, то в текущей вкладке открывается урл из 1-го параметра, пропадают все другие вкладки, пропадают все панели, даже адресн. строка, скроллбары правда присутствуют. И нет возможности вернуть прежний вид. Только перезапустить ФФ.
Написано сумбурно, но надеюсь люди знающие поймут и ответят по существу.
Отсутствует
а тут универсального решения нет - надо настраивать под конкретный сайт
ну а популярные типа ютуба вимео и прочих легко кушает сам vlc - попробуй скормить ему обычную ссылку на ролик , правда не знаю как он там качество выбирает но вполне себе показывает.да и флэш объект как правило нифига не ролик а плеер, а сам ролик гдето в его параметрах обычно(но не всегда)
Это да, только вот, допустим, FlashGot его (ролика) адрес как-то выдирает. Я надеялся, что, может и кнопкой возможно сделать что-то подобное.
Вообще, это не принципиально, просто было бы приятным бонусом в браузере, для меня, по крайней мере. Но раз нет, то и суда нет.
Отсутствует