Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.
  • Форумы
  •  » Сustom Buttons
  •  » [CB] Показать адрес существующей закладки при наведении на звездочку

№124-11-2015 20:52:50

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 42.0

[CB] Показать адрес существующей закладки при наведении на звездочку

Показать адрес существующей закладки при наведении на звездочку (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)

Отсутствует

 

№225-11-2015 06:54:10

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Для старших версий, а также бравзера PaleMoon надобно заменить первую строку с переменной на:

Выделить код

Код:

var starbutt = document.getElementById('star-button');

Отсутствует

 

№305-03-2016 20:45:45

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 44.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Вроде бы с 44-й версии появился небольшой глюк:
если первый раз подвести курсор к звездочке, то выскакивает немного некорректный тултип
5685c31ceeaf.jpg
но если подвести второй раз и далее, то все отображается правильно
42420b7f3df3.jpg
если перейти на другую вкладку и вновь вернуться на эту, то история повторится - первый раз некорректный
и на пустой вкладке теперь отображается такое
bdf0f00b9b44.jpg
раньше была только первая строка, второй не было...
подскажите, что это за беда и как это починить

Отсутствует

 

№406-03-2016 10:44:30

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Inko7 пишет

раньше была только первая строка, второй не было...
подскажите, что это за беда и как это починить

Странно, но я такой глюк на FF45 не наблюдаю. И без твоего кода путь к закладке в подсказке не вижу месте с предложением редактировать.

Отсутствует

 

№506-03-2016 12:15:04

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 44.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

bunda1
да, действительно, на пустом профиле код работает нормально
выяснил и оказалось, что как-то влияет дополнение Add Bookmark Here ² 41.0.20160302. Наверное, это оно обновилось и что-то поменялось...
Можно их как-то подружить?

Отсутствует

 

№606-03-2016 12:33:52

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Inko7 пишет

Можно их как-то подружить?

Я думаю что не нужно их подружить, потому что твой код дублирует возможность которую добавляет Add Bookmark. Но можешь просто заменить:

Выделить код

Код:

starbutt.tooltipText = "Адрес закладки:" + "\n" + result.join("\n");

на

Выделить код

Код:

starbutt.tooltipText = "Редактировать эту закладку (Ctrl+D)" + "\n➥" + result.join("\n➠");

Отсутствует

 

№706-03-2016 13:57:42

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 44.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

bunda1
наверное мы немного о разном говорим...
начну с начала - изначально код должен показывать в тултипе путь к сохраненной закладке (если она сохранена)
например, вот так:
42420b7f3df3.jpg
и больше никаких других надписей
если закладка не сохранена, то тултип имел простой вид - "Добавить страницу в закладки..."
если звездочка неактивка (на пустой вкладке), то тултипа вообще не было
а теперь всё перемешалось...
наверняка виноват аддон, но он мне нужен...
вот и я спрашивал, как подружить код с аддоном, чтоб они друг другу не мешали...

Отсутствует

 

№806-03-2016 16:21:13

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Inko7 пишет

bunda1
наверное мы немного о разном говорим...
начну с начала - изначально код должен показывать в тултипе путь к сохраненной закладке (если она сохранена)
например, вот так:
http://s017.radikal.ru/i441/1603/36/42420b7f3df3.jpg
и больше никаких других надписей
если закладка не сохранена, то тултип имел простой вид - "Добавить страницу в закладки..."
если звездочка неактивка (на пустой вкладке), то тултипа вообще не было
а теперь всё перемешалось...
наверняка виноват аддон, но он мне нужен...
вот и я спрашивал, как подружить код с аддоном, чтоб они друг другу не мешали...

В  своё время я попросил автора аддона добавить индикацию пути к сохранённой закладке по наведению курсора. Ему тогда это понравилось и он добавил. Теперь это конфликтует с Вашей аналогичной функцией. Имхо, конечно.


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№906-03-2016 16:59:01

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 44.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

difabor
разве Add Bookmark умеет показывать путь к закладке? никогда этого не знал
и что нужно для этого сделать, куда подвести? в настройках аддона ничего похожего не нахожу, поэтому и просил кнопкописателей помочь
всё прекрасно работало до недавнего времени...

Добавлено 06-03-2016 17:06:27
Да, действительно теперь есть такая функция у аддона! Автор добавил её как раз месяц назад...
Тогда вопрос по кнопке пока снимается...

Отредактировано Inko7 (06-03-2016 17:06:27)

Отсутствует

 

№1006-03-2016 17:35:57

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Inko7 пишет

Тогда вопрос по кнопке пока снимается...

Ну вот, а я уже переделал код чтоб была как раньше:

Выделить код

Код:

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"); 
};

Отсутствует

 

№1106-03-2016 18:17:33

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

bunda1
А можно сделать, чтобы показывала адрес при наведение на вкладку, которая в закладках?

Отсутствует

 

№1206-03-2016 18:23:09

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 44.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

bunda1
Большое спасибо! :beer:
Для меня код привычнее, чем тултип аддона...

Отсутствует

 

№1306-03-2016 22:58:51

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

voqabuhe пишет

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") : ""; 
   }
})();

Отсутствует

 

№1406-03-2016 23:23:46

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

bunda1
У классно как получилось. Спасибо.
ПС Попутно, а с этим делом можно что-нибудь сделать? №1121

Отсутствует

 

№1517-03-2016 20:18:28

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB] Показать адрес существующей закладки при наведении на звездочку

Inko7
Можно положить:

Выделить код

Код:

result.sort((a, b)=> { return a.length - b.length });

перед:

Выделить код

Код:

if (result.join()) starbutt.tooltipText = "Адрес закладки:" + "\n" + result.join("\n");

тогда адреса закладок будет сортироваться по длине.

Отсутствует

 
  • Форумы
  •  » Сustom Buttons
  •  » [CB] Показать адрес существующей закладки при наведении на звездочку

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]