Страницы: 1
Показать адрес существующей закладки при наведении на звездочку (Firefox Australis)
Автор: Inko7, bunda1, Dumby
Описание: Когда звездочка добавления в закладки показывает, что текущая открытая страница уже есть в закладках (звездочка закрашена), можно подвести курсор к звездочке и во всплывающей подсказке увидеть адрес (полный путь к папке) расположения этой закладки
Использование: создать новую CB кнопку или положить код в инициализацию другой кнопки
/*Initialization Code*/ // ПОКАЗАТЬ АДРЕС СУЩЕСТВУЮЩЕЙ ЗАКЛАДКИ ПРИ НАВЕДЕНИИ НА ЗВЕЗДОЧКУ var starbutt = document.getAnonymousElementByAttribute(document.getElementById('bookmarks-menu-button'), "anonid", "button"); starbutt.onmouseover = function() { var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = []; for(var id of BookmarkingUI._itemIds) { var arr = []; while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) { if (id == tagsFolderId) { arr = []; break; } arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)"); } arr.length && result.push(arr.join("\\")); } if (result.join()) starbutt.tooltipText = "Адрес закладки:" + "\n" + result.join("\n"); };
Отредактировано Inko7 (24-11-2015 22:37:24)
Отсутствует
Для старших версий, а также бравзера PaleMoon надобно заменить первую строку с переменной на:
Отсутствует
Вроде бы с 44-й версии появился небольшой глюк:
если первый раз подвести курсор к звездочке, то выскакивает немного некорректный тултип
но если подвести второй раз и далее, то все отображается правильно
если перейти на другую вкладку и вновь вернуться на эту, то история повторится - первый раз некорректный
и на пустой вкладке теперь отображается такое
раньше была только первая строка, второй не было...
подскажите, что это за беда и как это починить
Отсутствует
раньше была только первая строка, второй не было...
подскажите, что это за беда и как это починить
Странно, но я такой глюк на FF45 не наблюдаю. И без твоего кода путь к закладке в подсказке не вижу месте с предложением редактировать.
Отсутствует
bunda1
да, действительно, на пустом профиле код работает нормально
выяснил и оказалось, что как-то влияет дополнение Add Bookmark Here ² 41.0.20160302. Наверное, это оно обновилось и что-то поменялось...
Можно их как-то подружить?
Отсутствует
Можно их как-то подружить?
Я думаю что не нужно их подружить, потому что твой код дублирует возможность которую добавляет Add Bookmark. Но можешь просто заменить:
на
starbutt.tooltipText = "Редактировать эту закладку (Ctrl+D)" + "\n➥" + result.join("\n➠");
Отсутствует
bunda1
наверное мы немного о разном говорим...
начну с начала - изначально код должен показывать в тултипе путь к сохраненной закладке (если она сохранена)
например, вот так:
и больше никаких других надписей
если закладка не сохранена, то тултип имел простой вид - "Добавить страницу в закладки..."
если звездочка неактивка (на пустой вкладке), то тултипа вообще не было
а теперь всё перемешалось...
наверняка виноват аддон, но он мне нужен...
вот и я спрашивал, как подружить код с аддоном, чтоб они друг другу не мешали...
Отсутствует
bunda1
наверное мы немного о разном говорим...
начну с начала - изначально код должен показывать в тултипе путь к сохраненной закладке (если она сохранена)
например, вот так:
http://s017.radikal.ru/i441/1603/36/42420b7f3df3.jpg
и больше никаких других надписей
если закладка не сохранена, то тултип имел простой вид - "Добавить страницу в закладки..."
если звездочка неактивка (на пустой вкладке), то тултипа вообще не было
а теперь всё перемешалось...
наверняка виноват аддон, но он мне нужен...
вот и я спрашивал, как подружить код с аддоном, чтоб они друг другу не мешали...
В своё время я попросил автора аддона добавить индикацию пути к сохранённой закладке по наведению курсора. Ему тогда это понравилось и он добавил. Теперь это конфликтует с Вашей аналогичной функцией. Имхо, конечно.
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
difabor
разве Add Bookmark умеет показывать путь к закладке? никогда этого не знал
и что нужно для этого сделать, куда подвести? в настройках аддона ничего похожего не нахожу, поэтому и просил кнопкописателей помочь
всё прекрасно работало до недавнего времени...
Добавлено 06-03-2016 17:06:27
Да, действительно теперь есть такая функция у аддона! Автор добавил её как раз месяц назад...
Тогда вопрос по кнопке пока снимается...
Отредактировано Inko7 (06-03-2016 17:06:27)
Отсутствует
Тогда вопрос по кнопке пока снимается...
Ну вот, а я уже переделал код чтоб была как раньше:
BookmarkingUI.star.onmouseenter =e=> { var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = []; for( var id of BookmarkingUI._itemIds ) { var arr = []; while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) { if (id == tagsFolderId) { arr = []; break; } arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)"); } arr.length && result.push(arr.join("\\")); } if (result.join()) e.target.tooltipText = "Адрес закладки:\n" + result.join("\n"); };
Отсутствует
bunda1
А можно сделать, чтобы показывала адрес при наведение на вкладку, которая в закладках?
// Показывать в подсказке вкладки адрес закладки в папках закладок, от 06.03.2016. ................. (()=> { var src = "gBrowser.createTooltip = " + gBrowser.createTooltip.toString(), res = src.replace('label);', 'label + getBookPath(tab));'); eval(res); addDestructor(()=> eval(src) ); function getBookPath(tab) { var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = [], uri = tab.linkedBrowser.currentURI; for( var id of PlacesUtils.getBookmarksForURI(uri) ) { var arr = []; while( id = PlacesUtils.bookmarks.getFolderIdForItem(id) ) { if (id == PlacesUtils.placesRootId) break; arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)"); } result.push(arr.join("\\")); } return str = result.join() ? "\n\nАдрес закладки:\n" + result.join("\n") : ""; } })();
Отсутствует
bunda1
У классно как получилось. Спасибо.
ПС Попутно, а с этим делом можно что-нибудь сделать? №1121
Отсутствует
Inko7
Можно положить:
перед:
if (result.join()) starbutt.tooltipText = "Адрес закладки:" + "\n" + result.join("\n");
тогда адреса закладок будет сортироваться по длине.
Отсутствует
Страницы: 1