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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.
  • Форумы
  •  » Firefox
  •  » Ищу расширение для Firefox (ищу дополнение)

№597611-06-2016 14:07:51

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Ищу расширение для Firefox (ищу дополнение)

Stakhovsky
А все, понял. Нет. Он же по сути, просто несколько вкладок на одном экране отображает. Может вам проще два окна окна браузера по экрану разделить?
У вас семерка, если ua не врет, там это просто и удобно делается: Win + -->, Win <-- (Клавиша Win и стрелки на клавиатуре делают окно в пол экрана и пристыковывают к краю экрана по направлению стрелки. Win и клавиша вверх - разворачивает).

Отсутствует

 

№597711-06-2016 14:15:00

nexterr
Участник
 
Группа: Members
Зарегистрирован: 22-03-2010
Сообщений: 315
UA: Firefox 48.0

Re: Ищу расширение для Firefox (ищу дополнение)

rRondo

перестало работать одно из моих must have  дополнений Element Properties

включить совместимость,  надо создать в about:config   extensions.checkCompatibility.47.0    false
This add-on is no longer being maintained

Отредактировано nexterr (11-06-2016 14:19:00)

Отсутствует

 

№597811-06-2016 14:17:00

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 45.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup пишет:

Существует с десяток дополнений, позволяющих как угодно делить окно на части и показывать в этих частях независимые странички.
Одни из этих дополнений делят на части окно вкладки, а другие - окно браузера (и тогда в каждой части находятся свои собственные вкладки).

А как они называются? Помимо Tile Tabs.

Добавлено 11-06-2016 14:24:58
turbot
Эх блин, это я вкурсе. Удобен вариант именно с панелью.
А функцию "Загружать закладку в боковой панели"
(В places.sqlite в свойствах закладки устанавливается флажок "loadInSidebar".)
Нельзя применить к ссылкам?

Отредактировано Stakhovsky (11-06-2016 15:00:36)

Отсутствует

 

№597911-06-2016 15:02:01

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

Вот то, что сходу нашлось/вспомнилось: WebPanel Enhancer, Content Holder, его развитие Fox Splitter, Split Pannel, Tile View. (Отдельный вопрос, что из этого сейчас работает или может быть поправлено до рабочего состояния.)

Ещё что-то есть в закладках на другой машине, но нет времени её включать: ливень за окном кончился и надо убегать по делам, и так уже из-за него сильно опаздываю.

Отсутствует

 

№598011-06-2016 15:20:22

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 45.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup
Спасибо, буду ставить разбираться.

Отсутствует

 

№598111-06-2016 18:48:21

SOTVM
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 109
UA: Firefox 47.0

Re: Ищу расширение для Firefox (ищу дополнение)

в хроме сегодня увидел
vTabs 1.8.1.3
Вертикальная панель с вкладками
есть подобное в лисе? уж очень удобное,да и дизайн отличный = хочу ;)
вот пару минут снял видео
https://yadi.sk/i/Zm7hWufcsRTGN


Никто не знает столько,сколько не знаю Я.

Отсутствует

 

№598211-06-2016 19:59:03

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Ищу расширение для Firefox (ищу дополнение)

Отсутствует

 

№598312-06-2016 05:27:00

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

Stakhovsky

Для GreaseMonkey получился такой скрипт:

Выделить код

Код:

var links, link;
links = document.getElementsByTagName('A');
for (var i = --links.length; i >= 0; i--) if (links[i].href != '') {
  link = links[i].getAttribute('href');
  if ((links[i].onclick == null) && (link.protocol != 'javascript:') && (link.protocol != 'data:'))
    links[i].setAttribute('href', 'javascript:document.location="' + link + '"');
};

Работает для страничек из Интернета.
Работало бы и для локальных дисков, но я не знаю, как (и можно ли) задать соответствующую маску имени для @include в GreaseMonkey.

Отредактировано yup (12-06-2016 11:55:13)

Отсутствует

 

№598412-06-2016 09:22:02

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Ищу расширение для Firefox (ищу дополнение)

А мне вот такое придумалось для CB, спросоня:

Выделить код

Код:

(sidebarWindow => {
  addEventListener('click', e=> {
    var webPanel = sidebarWindow.contentDocument.getElementById("web-panels-browser");
    if (!webPanel) return;
    var sidebarDoc = webPanel.contentDocument;
    if (!(sidebarDoc
          && (sidebarDoc.location.protocol == "http:"
              || sidebarDoc.location.protocol == "https:"
              || sidebarDoc.location.protocol == "ftp:"
              || sidebarDoc.location.protocol == "ftps:"
              || sidebarDoc.location.protocol == "file:"))) return;
    let link = e.originalTarget;
    while (link && link.tagName.toLowerCase() != 'a' && link.src) link = link.parentNode;
    if (!(link && link.href && !(sidebarDoc.location.protocol == "file:" && link.className == 'file'))) return;
    link.target = "_self";
  }, true, sidebarWindow)
})(document.getElementById("sidebar"));

Вроде, проблем не заметил. И работает и на локальных ссылках и только в сайдбаре. https://lh6.ggpht.com/-BPqO8QcVT8c/VE0D6nMiIyI/AAAAAAAAaFU/iZ6s_YMuino/s0/shuffle.gif

Расширенный вариант, готовая кнопка:

Выделить код

Код:

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%3ESidebar%20Sites%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAiEAAAIhAENVwL6AAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAHqSURBVHjarJM9aBVBFIW/s2wkgmDnDxoUgoJWokXERlEbf5pY2AhCCkWUgCaNvs3b2Z335lmZoETRINhKLPxD0CZgI0GtLFQUG8FGmxSBmBRzbSYSJE2IB4b5u/cMc+65MjOWYsT57cAVM9sL7AIi8EnSuxjjWKdV/Vgar0WCRrPqknQDuAB0AR+BsbS+DOwEfku6GWNsdFpV/EvQaFa5pElJ+8xsFlhrZn2dVvUrkW+R9Bb4CWyW9CrGONBpVTEHkDQK9JvZHNADzEv6WpQ16R6gG9gELJjZ2SzLvgNNXRtx2yR9AS5JOmJmfcAQy+Me8Bz4AFw3s95cUi8wHLy7X5T1LPA4ePdkueyirNcDM8G7p0VZr5G0Q41mdTB497oo6/3Bu+mirA+b2beUEwGyLMuTXj0p9kDw7k1R1kfVaFYvgUfA3VSBfqANXAUMyNPsgQ7wEJgAzgOnMuA2MJ4O7gCjwbtpYKOkBUDAuuDd+/TIOHBxMTYzsxfAieDdA+BY8G4qKT8QYxyWNCjpHICZPQOOB+8mgJPBu6lc0iFgNzAFbCjK+nTwbrJdl5//FVHSGWAmbfcUZT2/6jLKzCjK+hYwCMwlw8ynsRTdydYLQLekdrsum3n625CkrSuw8mSM0f2/ZlpNO/8ZAGBFAEu2Gqq+AAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.onclick%20%3De%3D%3E%20%7B%0A%20%20if%20%28e.target%20%21%3D%20this%29%20return%3B%0A%20%20let%20clipboard%20%3D%20gClipboard.read%28%29%3B%0A%20%20if%20%28e.button%20%3D%3D%200%29%0A%20%20%20%20menuPopup.openPopup%28this%2C%20%27after_start%27%29%3B%0A%20%20if%20%28e.button%20%3D%3D%201%29%0A%20%20%20%20openWebPanel%28clipboard%2C%20clipboard%29%3B%0A%20%20if%20%28e.button%20%3D%3D%202%20%26%26%20%21e.shiftKey%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.altKey%29%20%7B%0A%20%20%20%20e.preventDefault%28%29%3B%20e.stopPropagation%28%29%3B%0A%20%20%20%20openWebPanel%28window.content.document.title%2C%20window.content.document.location%29%0A%20%20%7D%0A%7D%0Athis.tooltipText%20%3D%20%27%u041B%u041A%u041C%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0441%u043E%20%u0441%u043F%u0438%u0441%u043A%u043E%u043C%20%u0437%u0430%u0434%u0430%u043D%u043D%u044B%u0445%20%u0430%u0434%u0440%u0435%u0441%u043E%u0432%5Cn%5C%u0421%u041A%u041C%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%5Cn%5C%u041F%u041A%u041C%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%20%u0430%u043A%u0442%u0438%u0432%u043D%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%27%3B%0A%0Avar%20menuPopup%20%3D%20createNode%28%22menupopup%22%2C%20self%2C%20false%2C%20%7Bcontext%3A%20%22%22%7D%29%2C%0A%20%20%20%20sbBox%20%3D%20SidebarUI._box%2C%0A%20%20%20%20sbClsBtn%20%3D%20sbBox.querySelector%28%22.close-icon.tabbable%22%29%2C%0A%20%20%20%20wps%20%3D%20%22SidebarUI.browser.contentDocument.querySelector%28%27browser%23web-panels-browser%27%29.%22%2C%0A%20%20%20%20sep%20%3D%20%22%5Cn%5Cn%22%2C%0A%20%20%20%20help%20%3D%20self.Help.trim%28%29%2C%0A%20%20%20%20items%20%3D%20help%0A%20%20%20%20%20%20%3F%20help.split%28sep%29%0A%20%20%20%20%20%20%3A%20%5B%22New%20Tab%5Cnabout%3Anewtab%5Cnchrome%3A//mozapps/skin/places/defaultFavicon.png%22%5D%2C%0A%20%20%20%20menugroup%20%3D%20createNode%28%22menugroup%22%2C%20menuPopup%2C%20false%2C%20%7B%0A%20%20%20%20%20%20orient%3A%20%22vertical%22%2C%0A%20%20%20%20%20%20oncommand%3A%20%22openPage%28event.target%29%3B%22%2C%0A%20%20%20%20%20%20oncontextmenu%3A%20%22removePage%28event.target%29%3B%22%0A%20%20%20%20%7D%29%2C%0A%20%20%20%20cnMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%2C%0A%20%20%20%20cnOpen%20%3D%20document.getElementById%28%22context-sep-open%22%29%2C%0A%20%20%20%20cnItem%20%3D%20createNode%28%22menuitem%22%2C%20cnOpen%2C%20true%2C%20%7B%0A%20%20%20%20%20%20id%3A%20%22open-in-sidebar%22%2C%0A%20%20%20%20%20%20label%3A%20%22Open%20in%20Sidebar%22%2C%0A%20%20%20%20%20%20oncommand%3A%20%22openWebPanel%28gContextMenu.getLinkURL%28%29%2C%20gContextMenu.getLinkURL%28%29%29%3B%20document.getElementById%28%27verticaltoolbar-button%27%29.click%28%29%3B%22%0A%20%20%20%20%7D%29%2C%0A%20%20%20%20cnListener%20%3D%20cnMenu.addEventListener%28%22popupshowing%22%2C%20%28%29%3D%3E%20cnItem.hidden%20%3D%20%21gContextMenu.onLink%29%2C%0A%20%20%20%20cnDestructor%20%3D%20addDestructor%28%28%29%3D%3E%20%7B%0A%20%20%20%20%20%20cnMenu.removeEventListener%28%22popupshowing%22%2C%20cnListener%29%3B%0A%20%20%20%20%20%20cnMenu.removeChild%28cnItem%29%0A%20%20%20%20%7D%29%2C%0A%20%20%20%20sbNav%20%3D%20%5B%0A%20%20%20%20%20%20%5B%22back%22%2C%20%22goBack%28%29%3B%22%2C%20%22back-button-tooltip%22%5D%2C%0A%20%20%20%20%20%20%5B%22forward%22%2C%20%22goForward%28%29%3B%22%2C%20%22forward-button-tooltip%22%5D%2C%0A%20%20%20%20%20%20%5B%22reload%22%2C%20%22reload%28%29%3B%22%2C%2C%20%22Reload%20current%20page%22%5D%2C%0A%20%20%20%20%20%20%5B%22stop%22%2C%20%22stop%28%29%3B%22%2C%2C%20%22Stop%20loading%20this%20page%22%5D%0A%20%20%20%20%5D%3B%0A%0Aitems.forEach%28%28item%2C%20index%29%20%3D%3E%20%7B%0A%20%20var%20%5Btitle%2C%20url%2C%20icon%5D%20%3D%20item.split%28%22%5Cn%22%29%3B%0A%20%20icon%20%3D%20%28icon.startsWith%28%27chrome%3A%27%29%20%7C%7C%20icon.startsWith%28%27data%3A%27%29%29%20%3F%20icon%20%3A%20%27moz-anno%3Afavicon%3A%27%20+%20icon%3B%0A%20%20createNode%28%22menuitem%22%2C%20menugroup%2C%20false%2C%20%7B%0A%20%20%20%20tooltiptext%3A%20url%2C%0A%20%20%20%20class%3A%20%22menuitem-iconic%22%2C%0A%20%20%20%20label%3A%20title%2C%0A%20%20%20%20image%3A%20icon%0A%20%20%7D%29.index%20%3D%20index%3B%0A%7D%29%3B%0Amenugroup.openPage%20%3D%20%28%7Bindex%7D%29%20%3D%3E%20openWebPanel%28...items%5Bindex%5D.split%28%22%5Cn%22%29%29%3B%0Amenugroup.removePage%20%3D%20%28%7Bindex%7D%29%20%3D%3E%20items.splice%28index%2C%201%29%20%26%26%20installButton%28items.join%28sep%29%29%3B%0A%0A%5B%0A%20%20%5B%27menuseparator%27%5D%2C%0A%20%20%5B%27menuitem%27%2C%20%27%u0420%u0435%u0434%u0430%u043A%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u043A%u043D%u043E%u043F%u043A%u0443%27%2C%20%27custombuttons.editButton%28this.parentNode.parentNode%29%3B%27%5D%2C%0A%20%20%5B%27menuitem%27%2C%20%27%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%27%2C%20%27openWebPanel%28gClipboard.read%28%29%2C%20gClipboard.read%28%29%29%3B%27%5D%2C%0A%20%20%5B%27menuitem%27%2C%20%27%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0438%u0439%20%u0441%u0430%u0439%u0442%27%2C%20%27this.parentNode.parentNode.addPage%28window.content.document.title%2C%20window.content.document.location.href%2C%20gBrowser.mCurrentTab.image%29%3B%27%5D%0A%5D.forEach%28%28%5Btype%2C%20lbl%2C%20cmd%5D%29%20%3D%3E%20%0A%20%20%20%20%20%20%20%20%20%20createNode%28type%2C%20menuPopup%2C%20false%2C%20%7Blabel%3A%20lbl%2C%20oncommand%3A%20cmd%7D%29%29%3B%0A%0Aif%20%28%21sbBox.hasAttribute%28%22navbuttons%22%29%29%20%7B%0A%20%20sbNav.forEach%28%28%5Bid%2C%20cmd%2C%20tltp%2C%20ttxt%5D%29%20%3D%3E%20%7B%0A%20%20%20%20var%20icon%20%3D%20%22chrome%3A//browser/skin/content-contextmenu.svg%23%22%20+%20id%3B%0A%20%20%20%20id%20%3D%20%27sb-%27%20+%20id%20+%20%27-button%27%3B%0A%20%20%20%20createNode%28%22toolbarbutton%22%2C%20sbClsBtn%2C%20true%2C%20%7B%0A%20%20%20%20%20%20id%3A%20id%2C%0A%20%20%20%20%20%20oncommand%3A%20wps%20+%20cmd%2C%0A%20%20%20%20%20%20tooltip%3A%20tltp%2C%0A%20%20%20%20%20%20tooltiptext%3A%20ttxt%2C%0A%20%20%20%20%20%20style%3A%20%27list-style-image%3A%20url%28%22%27%20+%20icon%20+%20%27%22%29%3B%20-moz-image-region%3A%20rect%280%2011px%2011px%200%29%3B%27%0A%20%20%20%20%7D%29%0A%20%20%7D%29%0A%20%20sbBox.setAttribute%28%27navbuttons%27%2C%20%27true%27%29%3B%0A%7D%0A%0Afunction%20installButton%28help%29%20%7B%0A%20%20%20%20var%20link%20%3D%20custombuttons.makeButtonLink%28%22edit%22%2C%20_id%29%3B%0A%20%20%20%20var%20param%20%3D%20custombuttons.cbService.getButtonParameters%28link%29%3B%0A%20%20%20%20param%20%3D%20param.wrappedJSObject%20%7C%7C%20param%3B%0A%20%20%20%20param.help%20%3D%20help%3B%0A%20%20%20%20custombuttons.cbService.installButton%28param%29%3B%0A%7D%0A%0Afunction%20createNode%28type%2C%20elm%2C%20before%2C%20attrs%29%20%7B%0A%20%20var%20node%20%3D%20before%0A%20%20%3F%20elm.parentNode.insertBefore%28document.createElement%28type%29%2C%20elm%29%0A%20%20%3A%20elm.appendChild%28document.createElement%28type%29%29%3B%0A%20%20for%28var%20name%20in%20attrs%29%20%7B%0A%20%20%20%20if%20%28attrs%5Bname%5D%29%0A%20%20%20%20%20%20node.setAttribute%28name%2C%20attrs%5Bname%5D%29%3B%0A%20%20%7D%0A%20%20return%20node%3B%0A%7D%0A%0Athis.addPage%20%3D%28title%2C%20url%2C%20icon%29%3D%3E%20%7B%0A%20%20title%20%3D%20%21title%20%3F%20url%20%3A%20title%3B%0A%20%20icon%20%3D%20%21icon%20%3F%20%27chrome%3A//mozapps/skin/places/defaultFavicon.png%27%20%3A%20icon%3B%0A%20%20var%20newItem%20%3D%20%5Btitle%2C%20url%2C%20icon%5D.join%28%27%5Cn%27%29%3B%0A%20%20installButton%28%5Bhelp%2C%20newItem%5D.join%28sep%29%29%3B%0A%7D%0A%0A%28%28browser%2C%20listener%2C%20br%29%20%3D%3E%20%7B%20if%20%28browser%29%20%7B%0A%20%20addEventListener%28%22DOMFrameContentLoaded%22%2C%20listener%2C%20true%2C%20browser%29%3B%0A%20%20var%20getBr%20%3D%20%28%29%20%3D%3E%20browser.contentDocument.querySelector%28listener.selector%29%3B%0A%20%20if%20%28%28br%20%3D%20getBr%28%29%29%29%20br.window%20%3D%20%7Bparent%3A%20listener.parent%7D%3B%0A%20%20addDestructor%28%28%29%20%3D%3E%20%7B%0A%20%20%20%20if%20%28%28br%20%3D%20getBr%28%29%29%29%20delete%20br.window%3B%0A%20%20%7D%29%3B%0A%7D%7D%29%28SidebarUI.browser%2C%20%7B%0A%20%20selector%3A%20%22browser%23web-panels-browser%22%2C%0A%20%20handleEvent%28e%29%20%7B%0A%20%20%20%20if%20%28e.target.matches%28this.selector%29%20%26%26%20%21e.target.hasAttribute%28%22disableglobalhistory%22%29%29%20%7B%0A%20%20%20%20%20%20sbNav.forEach%28%28%5Bid%2C%20cmd%5D%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20id%20%3D%20%27%23context-%27%20+%20id%3B%0A%20%20%20%20%20%20%20%20var%20mItem%20%3D%20SidebarUI.browser.contentDocument.querySelector%28id%29%3B%0A%20%20%20%20%20%20%20%20if%20%28id%20%3D%3D%20%22%23context-reload%22%29%0A%20%20%20%20%20%20%20%20%20%20mItem.style.setProperty%28%27display%27%2C%20%27-moz-box%27%2C%20%27important%27%29%3B%0A%20%20%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20eval%28wps%20+%20cmd%29%3B%0A%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20e.target.setAttribute%28%22disableglobalhistory%22%2C%20%27false%27%29%0A%20%20%20%20%7D%0A%0A%20%20%20%20if%20%28e.target.matches%28this.selector%29%20%26%26%20%21%28%22window%22%20in%20e.target%29%29%0A%20%20%20%20%20%20e.target.window%20%3D%20%7Bparent%3A%20this.parent%7D%3B%0A%20%20%7D%2C%0A%20%20get%20parent%28%29%20%7B%0A%20%20%20%20delete%20this.parent%3B%0A%20%20%20%20var%20parent%20%3D%20%7B%7D%3B%0A%20%20%20%20parent.contentAreaClick%20%3D%20eval%28%60%28%24%7B%0A%20%20%20%20%20%20contentAreaClick.toString%28%29.replace%28%0A%20%20%20%20%20%20%20%20%27linkNode.getAttribute%28%22onclick%22%29%27%2C%0A%20%20%20%20%20%20%20%20%22%21target%20%26%26%20this.shouldLoadInPanelBrowser%28linkNode%29%20%7C%7C%20%24%26%22%0A%20%20%20%20%20%20%29%0A%20%20%20%20%7D%29%60%29%3B%0A%20%20%20%20parent.shouldLoadInPanelBrowser%20%3D%20link%20%3D%3E%20%7B%0A%20%20%20%20%20%20if%20%28%21%28link.ownerDocument.location.protocol%20%3D%3D%20%22file%3A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%26%26%20link.className%20%3D%3D%20%27file%27%29%29%20return%20true%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20this.parent%20%3D%20parent%3B%0A%20%20%7D%0A%7D%29%3B%0A%0Avar%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0Avar%20uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28%0A%20%20%5B%0A%20%20%20%20%27@namespace%20xul%20url%28%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%29%3B%27%2C%0A%20%20%20%20%27@namespace%20html%20url%28%22http%3A//www.w3.org/1999/xhtml%22%29%3B%27%2C%0A%20%20%20%20%27@namespace%20svg%20url%28http%3A//www.w3.org/2000/svg%29%3B%27%2C%0A%20%20%20%20%27%27%2C%0A%20%20%20%20%27@-moz-document%20url%28%22chrome%3A//browser/content/browser.xul%22%29%20%7B%27%2C%0A%20%20%20%20%27%20%20%23sidebar-throbber%5Bloading%5D%20%7E%20%23sb-reload-button%20%7B%27%2C%0A%20%20%20%20%27%20%20%20%20display%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%7D%27%2C%0A%20%20%20%20%27%20%20%23sidebar-throbber%3Anot%28%5Bloading%5D%29%20%7E%20%23sb-stop-button%20%7B%27%2C%0A%20%20%20%20%27%20%20%20%20display%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%7D%27%2C%0A%20%20%20%20%27%20%20%23sidebar-box%20toolbarbutton%5Bid%5E%3D%22sb-%22%5D%20%7B%27%2C%0A%20%20%20%20%27%20%20%20%20-moz-appearance%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20padding%3A%203.5px%206px%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20margin%3A%20.5px%200%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20background%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20background-clip%3A%20border-box%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20border%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20border-radius%3A%200%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20box-shadow%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%7D%27%2C%0A%20%20%20%20%27%20%20%23sidebar-box%3Anot%28%5Bsidebarcommand%3D%22viewWebPanelsSidebar%22%5D%29%20toolbarbutton%5Bid%5E%3D%22sb-%22%5D%20%7B%27%2C%0A%20%20%20%20%27%20%20%20%20display%3A%20none%21important%3B%27%2C%0A%20%20%20%20%27%20%20%7D%27%2C%0A%20%20%20%20%27%20%20%23sidebar-box%20toolbarbutton%5Bid%5E%3D%22sb-%22%5D%20.toolbarbutton-icon%20%7B%27%2C%0A%20%20%20%20%27%20%20%20%20opacity%3A%200.5%20%21important%3B%27%2C%0A%20%20%20%20%27%20%20%20%20transition%3A%20opacity%20ease%20200ms%20%21important%3B%27%2C%0A%20%20%20%20%27%20%20%7D%27%2C%0A%20%20%20%20%27%20%20%23sidebar-box%20toolbarbutton%5Bid%5E%3D%22sb-%22%5D%3Ahover%20.toolbarbutton-icon%20%7B%27%2C%0A%20%20%20%20%27%20%20%20%20opacity%3A%200.9%20%21important%3B%27%2C%0A%20%20%20%20%27%20%20%7D%27%2C%0A%20%20%20%20%27%7D%27%0A%20%20%5D.join%28%27%5Cn%27%29%29%29%3B%0AaddDestructor%28%28%29%3D%3E%20sss.unregisterSheet%28this.uri%2C%200%20%7C%7C%20uri%2C%200%29%29%3B%0Athis.uri%20%3D%20uri%3B%0Asss.loadAndRegisterSheet%28uri%2C%200%29%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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

ЛКМ:  Открыть меню со списком заданных адресов (ЛКМ по которым откроет их в боковой панели, ПКМ - удалит из списка) и пунктом добавляющим в этот список сайт с активной вкладки.
(Название сайта, адрес и иконка сохраняются во вкладке справки и записываются с новой строки. Разделяются - пустой строкой)
СКМ: Открыть адрес из буфера
ПКМ (без модификаторов): Открыть в боковой панели адрес активной вкладки
+ Пункт контекстного меню ссылок, открывающий их в боковой панели.

UPD: Кое-как восстановил работоспособность пунктов контекстной навигации в боковой панели. :)
UPD2: Добавил установку иконок к пунктам меню и исправил работу при наличии спецсимволов во вкладке справки.
UPD3: Привел, в основном, в божеский вид, сообразно предложенному Dumby.
UPD4: Привел, окончательно, в божеский вид, опять-таки сообразно предложениям Dumby. Усё. :)

UPD5: Пользователям [firefox] 48+ следует обратить внимание на имеющийся баг в Custom Buttons, который делает нерабочими все кнопки берущие код с вкладки "Справка". Подробнее, как можно исправить, тут.

UPD6: Исправления в стиле, предотвращающие конфликт с другими кастомными кнопками в заголовке сайдбара.

Отредактировано turbot (01-09-2016 19:44:06)

Отсутствует

 

№598512-06-2016 09:49:04

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 45.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup
turbot
Супер. Огромное вам спасибо.

Отсутствует

 

№598612-06-2016 13:21:48

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

У просмотра сайтов в боковой панели есть существенное неудобство - не работает история: если перешёл куда-то, щёлкнув по ссылке, то вернуться кнопкой "Назад" уже невозможно и придётся заново заходить на сайт через закладку. Поэтому я, выбирая, какой метод использовать (править "href" или "target"), рассуждал так: если ссылка на страничке её автором оформлена так, что открывается не в текущей вкладке, а в новой, то лучше пусть она и откроется именно во вкладке, а не в панели, а потому "target" не трогаем, а корёжим "href". Однако, написав код и убедившись, что он работает, я не удосужился проверить его на ссылках, у которых действительно изначально задан "target". А оказалось, что в таком случае ссылка не открывается, жалуется на неправильный URL. Потому заботиться о сохранении "target" смысла не имеет и вот исправленный вариант:

Выделить код

Код:

var links = document.getElementsByTagName('A');
for (var i = --links.length; i >= 0; i--) links[i].target = "_self";

:) Кстати, убивать "target" может оказаться полезным всегда, а не только в панели, потому что обычную ссылку открыть не в текущем окне очень легко, а вот наоборот (ссылку, созданную автором так, чтобы открываться в новом окне, - открыть в текущем) - куда как сложнее.

Отредактировано yup (12-06-2016 13:59:36)

Отсутствует

 

№598712-06-2016 15:33:21

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 45.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup
Так кнопка назад привязана же к вкладке. Для боковой панели думаю это уже лишнее. Разве что это нужно будет добавлять в контекстное меню пункт "назад". Потом захочется добавить пунк "обновить", потом возможность изменять масштаб текста и т.д:)

Отредактировано Stakhovsky (12-06-2016 17:21:19)

Отсутствует

 

№598812-06-2016 17:37:11

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

Stakhovsky пишет:

Так кнопка назад привязана же к вкладке. Разве что это нужно будет добавлять в контекстное меню пункт "назад".

Вот именно в контекстном меню тамошние кнопки "вперёд-назад" и находятся. Но не работают. И забой не работает.

Отредактировано yup (12-06-2016 17:38:49)

Отсутствует

 

№598912-06-2016 22:37:37

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup
К вашему скрипту MutationObserver напрашивается. :rolleyes:
А то не будет на динамическом контенте работать. Я с этим зверем совсем не дружу, потому и с листенером сделал.
И этот скрипт ведь будет работать не только на страницах, открытых в сайдбаре (что требуется), но и во вкладках? Или я чего-то не понял?

Отсутствует

 

№599012-06-2016 23:01:24

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

turbot пишет:

К вашему скрипту MutationObserver напрашивается.

Можно, конечно. Но не люблю грузить процессор лишней работой. Лишней - потому что:

turbot пишет:

А то не будет на динамическом контенте работать.

Думаю, что шансы встретить страничку со скриптами, химичащими с таким экзотическим параметром как "target", исчезающе малы. Но если понадобится - добавить будет нетяжело (тем более, что рабочие заготовки с MutationObserver с некоторых пор в запасе имеются).

turbot пишет:

И этот скрипт ведь будет работать не только на страницах, открытых в сайдбаре (что требуется), но и во вкладках? Или я чего-то не понял?

Работать будет где душе угодно. GreaseMonkey, в отличие от Custom Buttons, позволяет (вернее даже - заставляет) указывать (полными URL или масками), на каких страничках или сайтах должен исполняться данный скрипт.
Если его действие нужно только для конкретных закладок (у которых проставлена галочка "Открывать в боковой панели"), то URL-ы этих закладок нужно внести в настройки скрипта. Если же захочется чистить "target" и на других посещаемых сайтах, то и маски можно поставить более всеохватывающие (вплоть до "*"). Убивать "target" (или менять на "_self") - это ведь полезно не только для боковой панели, но и для обычных вкладок.

Отредактировано yup (12-06-2016 23:09:07)

Отсутствует

 

№599112-06-2016 23:08:31

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup пишет:

Думаю, что шансы встретить страничку со скриптами, химичащими с таким экзотическим параметром как "target", исчезающе малы

Не-не, я про addedNodes, т.е. для, например, отслеживать подгружаемые твиты и т.п. и для них также менять target.

Отсутствует

 

№599212-06-2016 23:13:15

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

turbot пишет:

Не-не, я про addedNodes, т.е. для, например, отслеживать подгружаемые твиты и т.п. и для них также менять target.

Да, такой вариант я из виду упустил (по роду своей деятельности/интересов редко с подобными сайтами сталкиваюсь).
Сегодня я заканчиваю важную работу, которая к завтрашнему обеду обязана быть сделана, а после этого исправлю свою оплошность.

Отсутствует

 

№599312-06-2016 23:48:24

rRondo
Участник
 
Группа: Members
Зарегистрирован: 29-10-2014
Сообщений: 30
UA: Firefox 47.0

Re: Ищу расширение для Firefox (ищу дополнение)

Пытался сейчас найти аддон, которым пользовался году в 2014, но почему-то не нашёл.
Дополнение называлось Google Favicons (http://i.imgur.com/6pQloEM.jpg), и выполнял простую функцию: отображал иконки сайтов (favicon) перед результатами в Google-поиске

Отсутствует

 

№599413-06-2016 00:06:39

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 2522
UA: Firefox 47.0

Re: Ищу расширение для Firefox (ищу дополнение)

rRondo
Есть скрипт Faviconize Google ...если что.

Отсутствует

 

№599513-06-2016 00:14:54

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 45.0

Re: Ищу расширение для Firefox (ищу дополнение)

Отсутствует

 

№599614-06-2016 02:45:47

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

turbot пишет:

Не-не, я про addedNodes, т.е. для, например, отслеживать подгружаемые твиты и т.п. и для них также менять target.

Вчера времени было очень мало, поэтому поверил на слово авторам со StackOverflow, что "<base target="_self">" для боковой панели не помогает. А сегодня проверил, и оказалось, что очень даже действует.
Поэтому минимальный вариант вмешательства в страничку сводится к внесению одной строки в её заголовок:

Выделить код

Код:

var elems = document.getElementsByTagName('base');
for (var i = elems.length-1; i >= 0; i--) elems[i].parentNode.removeChild(elems[i]);
document.head.appendChild(document.createElement("base").setAttribute('target', '_self'));

Такое изменение будет действовать не только на ссылки, имевшиеся на страничке изначально, а и на те, которые могут на ней появиться позднее.
Но ссылки, имеющие собственный атрибут "target", отличный от "_self", будут открываться не в панели, а в новых окнах(вкладках). Если хочется, чтобы и они тоже открывались в панели, то код немножко увеличивается:

Выделить код

Код:

var elems = document.getElementsByTagName('base');
for (var i = elems.length-1; i >= 0; i--) elems[i].parentNode.removeChild(elems[i]);
document.head.appendChild(document.createElement('base').setAttribute('target', '_self'));

elems = document.getElementsByTagName('A');
for (i = elems.length-1; i >= 0; i--) elems[i].setAttribute('target', '');

var observer = new MutationObserver(function(mutations) {
  observer.disconnect();
  mutations.forEach(function(mutation) {
    switch (mutation.type) {
    case 'childList':
      var elem = mutation.addedNodes;
      for (var i = elem.length - 1; i >= 0; i--)
        if (elem[i].nodeName == 'A') elem[i].setAttribute('target', '');
      break;
    case 'attributes':
      mutation.target.setAttribute('target', '');
      break;
    };
  });    
  observer.observe(document, observer.config);
});
 
observer.config = {attributes: true, attributeFilter: ['target'], childList: true, subtree: true};
observer.observe(document, observer.config);

С точки зрения минимизации убивания производительности лучше было бы использовать не MutationObserver, а обработчик события "click", но его проблема в том, что если таких обработчиков у ссылки несколько, то порядок их срабатывания непредсказуем, и поэтому "родной" обработчик может сработать до добавленного нами.

Отредактировано yup (14-06-2016 02:49:54)

Отсутствует

 

№599714-06-2016 21:04:36

Acid Crash
Участник
 
Группа: Members
Зарегистрирован: 03-11-2013
Сообщений: 290
UA: Firefox 47.0

Re: Ищу расширение для Firefox (ищу дополнение)

Всем доброго времени суток.
Ищу расширение или скрипт для GreaseMonkey, который бы убирал из ссылок Youtube всякий мусор (ненужные параметры, появляющиеся при переходах по ссылкам/аннотациям и пр. в пределах сайта).
Ранее пользовался вот этим скриптом
https://greasyfork.org/ru/scripts/1193-youtube-link-cleaner
Но в последнее время стал некоторые параметры пропускать.

Отсутствует

 

№599815-06-2016 06:00:44

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 50.0

Re: Ищу расширение для Firefox (ищу дополнение)

yup

скрытый текст

С точки зрения минимизации убивания производительности лучше было бы использовать не MutationObserver, а обработчик события "click", но его проблема в том, что если таких обработчиков у ссылки несколько, то порядок их срабатывания непредсказуем, и поэтому "родной" обработчик может сработать до добавленного нами.

Там Dumby предложил как раз вариант лишенный этих недостатков.
Как-то мне кнопка ближе все-таки (особенно, раз осилил переделать под предложенное). Хоть и страшная, но родная. :D

Но все-равно спасибо. И извините, что время заставил потратить (но может другим пригодится). :blush: :beer:


Acid Crash
Pure URL

Отсутствует

 

№599917-06-2016 11:49:55

clostridium
Участник
 
Группа: Members
Зарегистрирован: 10-03-2015
Сообщений: 3
UA: Firefox 48.0

Re: Ищу расширение для Firefox (ищу дополнение)

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

Отсутствует

 

№600017-06-2016 11:59:45

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Ищу расширение для Firefox (ищу дополнение)

clostridium
Этот: http://bugmenot.com/ ?

Отсутствует

 
  • Форумы
  •  » Firefox
  •  » Ищу расширение для Firefox (ищу дополнение)

Board footer

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