Подскажите есть ли замена сабжевого расширения для Файрфокс 2.0 или как Extended Link Properties подружить с Файрфокс 2.0 ?

vurdalak
Так качай с нашего сайта и устанавливай версия Extended Link Properties 1.2.3 с измененным max.version. Устанавливается и работает без проблем.

P.S. И пользуйся поиском, об установке расширений на 2.0 уже описано много вариантов.

=> Обсуждение расширений и дополнений

вот поправил это расширения для использования в Mozilla Firefox 2.0.2 extended_link_properties-1.2.4-rus-fx.xpi

качаем по ссылке http://slil.ru/23998729

Никто из-за увеличения max version номер версии не меняет - это может сделать только автор.
Версия доступна на нашем форуме и совместимо с Firefox 1.0 - 3.0
Extended Link Properties 1.2.3 другой на официальном сайте и на AMO нет.
Sergeys

alur2005 пишет

вот поправил это расширения для использования в Mozilla Firefox 2.0.2 extended_link_properties-1.2.4-rus-fx.xpi

качаем по ссылке http://slil.ru/23998729

Никто из-за увеличения max version номер версии не меняет - это может сделать только автор.
Версия доступна на нашем форуме и совместимо с Firefox 1.0 - 3.0
Extended Link Properties 1.2.3 другой на официальном сайте и на AMO нет.
Sergeys

Я конечно извиняюсь за исправления но иначе было никак.
А вы попробуйте установите со своего сайта это расширение Extended Link Properties 1.2.3 оно на Mozilla Firefox 2.0.2  не ставиться,а правленное мной устанавливается без проблем.

Майн готт... Трудно снести старое расширение, а потом поставить новое?
Кстати, поставь ка себе Mr.Tech's Local Install и не мучай окружающих. ;)
Всех уже давно задрало отвечать на вопрос "Что делать если расширение несовместимо". Ты Wiki читал? Ссылка сверху страницы!

Немного поковырялся в расширении...

Extended Link Properties 1.3.0 [7.1 Кбайт]

[+] Добавлена работа с окном выбора действия с файлом (грубый хак!).
[x] Исправлено округление.
[+] Добавлено разделение чисел на разряды (12345678 -> 12 345 678).
[*] Поле с HTTP-заголовками растягивается при изменении размеров окна.
[+] Автообновление.


В результате всплыло, что запрос размера происходит только после того, как файл полностью скачается в %temp% (т.е. почему-то не может быть два одновременных запроса по одной и той же ссылке).
Я добавил к ссылке «?случайные_цифры», и все заработало.
Но при этом запрашивается другая ссылка и неизвестно, вернет ли сервер нужный размер.

P.S. Я думаю, пока не стоит выкладывать в расширения... Так что тестируем.

Extended Link Properties 1.3.1 [8,0 Кбайт]

[+] Настройка точности округления размера.
[*] Чуть более аккуратный хак для работы с окном выбора действия с файлом.
[+] Из списка HTTP-заголовков удаляется последний перевод строки.
[*] Небольшие улучшения кода.


P.S. Последствия подмены настоящей ссылки при запросе размера пока что не наблюдаются. =)
P.P.S. Да, и вернул на место файл с лицензией, успевший куда-то у меня затеряться в процессе редактирования расширения.

Спасибо!

Sergeys пишет

Никто из-за увеличения max version номер версии не меняет - это может сделать только автор.

Как правило, пишут 1.2.3 mod

Extended Link Properties 1.3.2 [8,0 Кбайт]

[x] Исправлена обработка HTTP-ссылок, перенаправляющих на FTP (пример).
Примечание: размер файлов по FTP-протоколу определить нельзя.

Extended Link Properties 1.3.3 [8,1 Кбайт]

[*] Разделитель дробной части соответствует системным настройкам.

Extended Link Properties 1.4.0pre [20,3 Кбайт] (внимание, это тестовая версия!)
[+] Добавлен свой пункт контекстного меню (расширение Element Properties больше не требуется).
[+] При выделении текстовой ссылки в контекстном меню отображается пункт для получения размера файла по ссылке.
[+] В меню Инструменты добавлен пункт для получения размера файла по произвольной ссылке.
[+] Добавлено отображение статуса запроса (и настройки для отключения).
[-] Убраны больше не требующиеся обработки ошибок при вызовах .toLocaleString().
[*] Добавлены раздельные настройки для отображения HTTP-заголовков в отдельном окне, диалоге свойств и диалоге открытия файла.
[+] Добавлена возможность скрытия всех элементов интерфейса в главном окне браузера.
[+] Добавлены иконки для пункта в контекстном меню и в меню Инструменты, а также настройки для их скрытия.
[+] Реализовано применение большинства настроек без переоткрытия окна.
[+] Добавлено сочетание клавиш для открытия окна расширения (настройка extensions.extlinkprops.key.openWindow).

(В Firefox 3.7a5pre при наличии установленного расширения Element Properties окно настроек дергается при открытии – можете передавать луч ненависти пламенный привет авторам асинхронного API к менеджеру дополнений.)

P.S. Обнаружил тут Extended Link Properties + – версия 1.3.5 с локализаторскими изысками. Могли бы и сюда сначала написать, если честно, – гуглоперевод хоть и уныл чуть более, чем полностью, но все же способствует улучшению восприятия. =)

Infocatcher

тестовая версия!

Работает нормально. Спасибо.

Infocatcher,

P.S. Обнаружил тут Extended Link Properties + – версия 1.3.5 с локализаторскими изысками.

Пользуюсь им в данный момент, совместно с Element Properties. Если можно разъясните несколько вопросов:
Автором по прежнему записан Torisugari, разработчиком Вы, а фактически выложено расширение под авторством fremea (france). Кто всё таки есть кто :) и как Extended Link Properties + пересекается с Вашим Extended Link Properties? Когда Ваше будет в стадии релиза, под каким названием выложите на аддонсах?

По расширению:

[+] Добавлен свой пункт контекстного меню (расширение Element Properties больше не требуется).
[+] При выделении текстовой ссылки в контекстном меню отображается пункт для получения размера файла по ссылке.

Отлично просто!

Файлы: extlinkprops.jar нулевого размера и ссылающийся на него chrome_.manifest, на будущее просто :)?

Ещё вопрос:
Можно ли реализовать получение размера файла по FTP в пассивном режиме? В активном много кто умеет, а в пассивном не встречалось такого функционала.

Deim0s пишет

Кто всё таки есть кто

Torisugari – автор оригинального расширения.
fremea (france) выложил на АМО чуть измененную (в части локализации) версию 1.3.5 отсюда (которую дорабатывал я). Кстати, там еще зачем-то заменен комментарий про баг с выпиливанием пункта контекстного меню «свойства».
У меня было

Выделить код

Код:

# https://bugzilla.mozilla.org/show_bug.cgi?id=513147
# https://addons.mozilla.org/firefox/addon/14228/

, а стало

Выделить код

Код:

# https://bugzilla.mozilla.org/show_bug.cgi?id=513147
# https://addons.mozilla.org/firefox/addon/124503

Сравнить можно каким-нибудь WinMerge.


Когда Ваше будет в стадии релиза, под каким названием выложите на аддонсах?

Не знаю. По-хорошему надо бы сменить GUID и название. Вряд ли, конечно, автор исходного расширения проснется, но мало ли. Но при этом придется заставить пользователей сначала удалить старое расширение. Или нужно писать удалятор, перезапускающий браузер после удаления старой версии.
Причем на АМО без оригинального автора с тем же GUID, скорее всего, не попасть.

Файлы: extlinkprops.jar нулевого размера и ссылающийся на него chrome_.manifest, на будущее просто :)?

В таком виде проще редактировать – не надо каждый раз упаковывать jar-архив. А для релиза  chrome.manifest (ссылающийся на файлы напрямую) заменяется на  chrome_.manifest, а в extlinkprops.jar упаковывается все содержимое папки chrome\.

Можно ли реализовать получение размера файла по FTP в пассивном режиме? В активном много кто умеет, а в пассивном не встречалось такого функционала.

Кажется, можно только ручками парсить список файлов, отдаваемый FTP-сервером. Вроде бы, в FireFTP делается именно так. По крайней мере, никаких специальных встроенных механизмов я не нашел.

Infocatcher,

fremea (france) выложил на АМО чуть измененную (в части локализации) версию 1.3.5 отсюда (которую дорабатывал я).

Спасибо, ясно. Я (думаю и не только я) сидел до перехода на 3.6 на оригинальном расширении от Torisugari, а тут увидев Вас в разработчиках Extended Link Properties +, решил, что это релиз расширения из этой темы, а оно вон как... Интересно как он обновлять будет, продолжит таскать отсюда?

Не знаю. По-хорошему надо бы сменить GUID и название.

Лучше поскорее бы Вы зарелизили :), хоть под другим названием, пока клоны не расплодились, расширение то мега-полезное. Думается, кто в нём нуждается, быстро разберутся.

Кажется, можно только ручками парсить список файлов, отдаваемый FTP-сервером. Вроде бы, в FireFTP делается именно так. По крайней мере, никаких специальных встроенных механизмов я не нашел.

Понятно, т.е. старый добрый GetFileSize списывать пока рано, он хоть в активном режиме, но свойства файла по FTP тянет.

Добавил:

Но при этом придется заставить пользователей сначала удалить старое расширение.

Получается даже целых два, если теперь в Element Properties нужды нет.

Deim0s пишет

Получается даже целых два, если теперь в Element Properties нужды нет.

Такое уже не сто́ит за пользователя решать. =)

Поставил в Симанки 2.0.4

extended_link_properties_+-1.4.0-fx+sm.xpi
отсюда:
addons.mozilla.org/seamonkey/addon/124503/

Вроде бы работает нормально.

В сегодняшней 3.7 "преступно" перестал работать сабж (1.4.0 и 1.3.5).  Подтвердите, а то, может, я что-то намутил?

pasynok пишет

В сегодняшней 3.7 "преступно" перестал работать сабж (1.4.0 и 1.3.5).  Подтвердите, а то, может, я что-то намутил?

Кто-то преступно скукожил функцию navigator.preference().
По-хорошему же, в таких случаях полагается некоторое время сообщать при вызовах, что оно у них теперь «deprecated».

Extended Link Properties 1.4.0pre3 [21,0 Кбайт] (по-прежнему тестовая версия!)

    1.4.0pre3 (2010-06-09)
[x] Убрано использование функции navigator.preference() (отсутствует в Firefox 3.7a5pre).

    1.4.0pre2 (2010-06-03)
[+] Добавлена клавиша доступа (accesskey) для текстового поля.
[*] Небольшие улучшения кода.


P.S. Особо тестировать некогда. :/

Extended Link Properties 1.4.0pre4 [21,1 Кбайт] (по-прежнему тестовая версия!)

    1.4.0pre4 (2010-07-06)
[x] Исправлен глюк с отключением всех последующих сочетаний клавиш при наличии отключенного элемента key с атрибутом command.

P.S. К сожалению, для тестовых версий автообновление не работает.

а скажите, когда данное расширение будет оптимизировано по Firefox 3.6.6? а то как-то не удобно без него. Хотя, может есть какое - нибудь другое расширение добавляющее в контекстное меню вызываемое правым кликом кнопку "Свойства"? а то без нее никак мне((

Drzs
Так давно уже. =)
Или версия 1.3.5 + расширение Element Properties.
Или тестовая версия, там уже свой пункт контекстного меню.

Infocatcher пишет

DrzsТак давно уже. Или версия 1.3.5 + расширение Element Properties.Или тестовая версия, там уже свой пункт контекстного меню.
                    Отредактировано Infocatcher (Сегодня 20:33:39)

спасибо большое)

Эмм, на Fx 4.0 b1 совсем не работает или это только у меня ? Element properties работает.

SurferNet
Выше уже спрашивали.
И версия 1.4.0pre4, которую также можно найти выше, должна работать.

Примечание: размер файлов по FTP-протоколу определить нельзя.

Тобишь ни размер, ни дату ? :(

SurferNet пишет

Тобишь ни размер, ни дату ? :(

С заголовками ответа сервера нормально работает только nsIHttpChannel.
А nsIFTPChannel ничего не умеет. Причем на MDC про lastModifiedTime, кажется, гонят.
Однако, по-видимому, всегда доступен nsIChannel, у которого можно спросить contentLength и contentType.
Вроде, работает, только иногда долго думает.

Extended Link Properties 1.4.0pre5 [21,2 Кбайт] (по-прежнему тестовая версия!)
[x] Исправлено отключение сочетания клавиш в Firefox 1.5 и 2.0.
[*] Экспериментальная обработка FTP-ссылок (только размер и content-type).

Infocatcher
Спасибо, работает. :rock:
Да, долго думает конечно :)
ftp://ftp.mozilla.org/pub/mozilla.org/f … ta%202.exe
Эх, даты только не хватает. :rolleyes:

Infocatcher
А вот тут на фтп не определяется почему-то. :)

SurferNet пишет

А вот тут на фтп не определяется почему-то. :)

Не знаю, у меня определяется. :/

Вот на 3.6.8
ftpe.png
А вот на 4.0 последней ночнушке
40000.png

SurferNet
Для FTP определяется только размер и тип содержимого, так что работает, как и было задумано (но не так, как хотелось бы, конечно же =)).

Еще вопросец :)
http://www.zipeg.com/
Если нажать Download, то размер не определится и выдаст 404.
Если же выбрать пункт контекстного меню Size of linked file, то всё определится правильно.

SurferNet
Видимо, это из-за того, что в диалоге загрузки приходится запрашивать данные для несколько измененной ссылки.
У меня там вообще почти всегда выдает 404, и особой зависимости не прослеживается.

Тем не менее, у менеджера загрузок можно спросить размер и тип содержимого.

Все еще тестовые:
Extended Link Properties 1.4.0pre6 [21,5 Кбайт]
Extended Link Properties 1.4.0pre7 [21,7 Кбайт]

    1.4.0pre6 (2010-08-05)
[*] Улучшена поддержка диалога открытия файла.

    1.4.0pre7 (2010-09-09)
[x] Исправлено отображение размера и типа содержимого в диалоге открытия файла, когда данные, полученные в результате запроса по ссылке, отличаются от данных менеджера загрузок.

Infocatcher пишет

Все еще тестовые:
Extended Link Properties 1.4.0pre6 [21,5 Кбайт]
Extended Link Properties 1.4.0pre7 [21,7 Кбайт]

Спасибо! Чудесное дополнение!

На 4.0b8pre версия устарела :blush:

Infocatcher
Прошу рассмотреть возможность добавления в окно сабжа кнопки для сохранения файла. Имхо, было бы удобно: посмотрел информацию о файле и сохранил его при надобности.

pasynok
Разумно. Еще бы найти прямой способ сохранения.
А то уж больно много кода в chrome://browser/content/nsContextMenu.js для функции saveLink(). Соответственно, копировать все и потом поддерживать как-то не радостно, хотелось бы вызвать что-нибудь готовое.

Но возможен хак:

Выделить код

Код:

document.popupNode = linkNode;
new nsContextMenu(
    document.getElementById("contentAreaContextMenu"),
    gBrowser
).saveLink();

Так что можно найти главное окно браузера (если его нет, то или ничего не будет, или нужен код для его открытия, который будет ждать, когда окно загрузится), создать в window.content.document невидимую ссылку (linkNode) и позвать код выше. А затем удалить ссылку (и надеяться, что nsContextMenu.js она больше не понадобится). Ну, и диалог будет открываться из главного окна, а не из нашего.

Заодно и кнопки перестают помещаться, так что выходит примерно вот так: http://s43.radikal.ru/i102/1012/77/ad47b203a4ad.png (тестовый профиль у меня без локали на интерфейс, и лень переключать раскладку =)).

Вроде, работает, но реализация мне не особо нравится.

P.S. Остается позвать диалог открытия файла и еще раз увидеть свойства ссылки. =)

Infocatcher

Infocatcher пишет

Вроде, работает, но реализация мне не особо нравится.

Да. Думаю, что надо ссылку брать из "extLinkProps-uri", ведь теоретически могли там ее и поменять.
Возможно, имеет смысл обратить внимание на internalSave(); из contentAreaUtils.js.
Я "на коленке" попробовал internalSave(document.getElementById('extLinkProps-uri').value);, вроде, сохраняет и даже при закрытом окне браузера. Конечно, я тщательно не тестировал, возможно, что-то и не учел.

pasynok
Я так понимаю, internalSave() не учитывает, что сервер может вернуть другое имя файла. А без этого с АМО будет сохраняться «addon-###-latest.xpi». А через контекстное меню должно ждать browser.download.saveLinkAsFilenameTimeout.

Infocatcher

А без этого с АМО будет сохраняться «addon-###-latest.xpi».

У меня так иногда сохраняет и через "Сохранить как..."

Vladik пишет

У меня так иногда сохраняет и через "Сохранить как..."

Величины таймаута не хватает. Можно увеличить и запастись терпением =).

Все-таки решил сделать полноценный форк. :)
Вроде, даже обновление со старой версии, несмотря на смену идентификатора, должно запуститься.

AMO: https://addons.mozilla.org/addon/link-properties-plus/
Исходный код: https://github.com/Infocatcher/Link_Properties_Plus

Просьба всем заинтересованным оставить отзыв на AMO. :)

    1.5.0 (2013-01-02)
[*] Подготовка к публикации на AMO:
    - изменен ID расширения;
    - изменено название на "Link Properties Plus";
    - настройки перенесены в ветку extensions.linkPropertiesPlus.*;
    - изменен префикс всех идентификаторов, классов и глобальных объектов.
[+] Добавлено предупреждение при попытке открыть большое количество окон из окна информации о странице.
[*] Пункты меню переименованы в "Свойства ссылки".
[*] Таймер автоматического закрытия перезапускается при вводе с клавиатуры.
[x] Исправлена работа при включенной настройке extensions.linkPropertiesPlus.useBinaryPrefixes.
[*] Улучшен механизм извлечения ссылки из выделенного текста - теперь не обязательно выделять ссылку с точностью до окружающих пробельных символов.
[*] В пункте контекстного меню для выделенной текстовой ссылки теперь показывается начало распознанной ссылки (установите extensions.linkPropertiesPlus.context.onSelection.cropLinkInLabel в 0 для отключения).
[+] Добавлено контекстное меню для левого столбца с подписями для копирования текущей строки или всех строк и вызова настроек.
[x] Исправлено открытие дочерних вкладок после закрытия родительской вкладки.
[+] Добавлена поддержка протоколов file:, view-source:, jar: и about:.
[+] Добавлено открытие настроек автоматического закрытия при клике по полосе прогресса.
[*] Таймер автоматического закрытия перезапускается при запросе свойств новой ссылки.
[+] Добавлен пункт в Меню приложения - Инструменты (Thunderbird 17 и выше).
[+] Добавлено получение свойств ссылки по Ctrl+Enter, а не только по Enter (пользователь может ожидать, что по Enter окно закроется).

    1.5.0pre32 (2012-07-28)
[+] Добавлено отображение прямой ссылки (после всех перенаправлений).
[+] Добавлен пункт в меню Firefox - Веб-разработка (только Firefox 4 и выше).
[x] Исправлено отображение контекстного меню для ссылок в SeaMonkey.
[*] В окне настроек подсвечиваются настройки для окна, из которого был открыт диалог настроек.
[x] Исправлено отображение размера FTP-папок.
[*] Кнопка "Получить размер файла" недоступна, пока не завершится предыдущий запрос.
[+] Добавлена возможность задавать HTTP referer вручную.
[+] Добавлена возможность открытия и сохранения ссылки из окна свойств (и настройка extensions.extlinkprops.closeAfterOpen для отключения закрытия окна).
[+] Добавлена отмена запроса по нажатию Escape.
[+] Добавлена возможность локализации описания расширения.
[x] Исправлено отображение разделителя в диалоге свойств.
[+] Добавлена скрытая настройка extensions.extlinkprops.ownWindow.clickSelectsAll.
[+] Добавлена возможность автоматического закрытия окна.
[*] Реорганизован диалог настроек.
[+] Добавлен перевод фокуса на уже открытое окно с такой же ссылкой и referer'ом.
[*] Кнопка Применить в диалоге настроек включается только при наличии несохраненных настроек.
[+] В окно информации о странице добавлена кнопка для просмотра свойств ссылок на изображения (Firefox 3.0 и выше).
[+] Добавлено открытие настроек кликом средней кнопкой мыши по столбцу с подписями (в дополнение к открытию двойным кликом).
[*] Немного оптимизирован код для чтения и сохранения настроек.
[+] Добавлена возможность отображения пункта в меню Инструменты - Веб-разработка
[*] Разделитель групп разрядов берется из системных настроек.
[+] Добавлена настройка для использования десятичных приставок вместо двоичных.
[+] Добавлена экспериментальная поддержка Thunderbird и почты в SeaMonkey.
[+] Добавлена скрытая настройка extensions.extlinkprops.useFakeReferer (см. описание в файле /defaults/preferences/prefs.js внутри расширения).
[*] Если включена настройка extensions.extlinkprops.decodeURIs, ссылка во всплывающей подсказке у пункта контекстного меню тоже будет декодирована.

okkamas_knife пишет

1 на окошке инфы о ссылке сделать либо меню либо кнопочками различные тулзы

Как-то это уместнее в контекстном меню страницы, по-моему.
Если только при открытии свойств реальной ссылки (DOM-узла на странице) выводить контекстное меню для нее.
Или создавать временную ссылку и выводить для нее меню. Только это криво, очень, у меня и так хак для сохранения тот еще.

okkamas_knife пишет

exif инфа об изображении по ссылке

Не получится, качать надо. А для скачанных есть Exif Viewer/FxIF.

okkamas_knife пишет

для зипов содержимое архива
(скачивать только заголовок)

Это сначала бы ArchView реанимировать.

okkamas_knife пишет

в принципе это можно сделать например доп. модулями

Никто не запрещает делать расширения к расширениям. :)

Infocatcher
Извините, если не в тему, но возможно ли добавление функционала в ваше расширение (хочется объединение нескольких в одно ваше)
возможно ли объединить  Link And Forminfo и Linkification (Linkificator)вместе с вашим...

Vladik
В чем смысл объединения? :)

Для Link And Forminfo можно попробовать добавить пункт «Свойства ссылки» в контекстное меню. Но там, кажется, никак не получить исходную ссылку – то есть текст ссылки есть, но вот сам элемент (чтобы задать правильный HTTP referer) не получить.

А вместо двух вторых лучше использовать Text Link – он не замедляет загрузку страниц.

(отсюда)

Kuja пишет

Расширение некорректно работает с e10s. При ПКМ вызывает подвисание всего браузера на секунд 10-15.

У меня на свежей Nightly 37.0a1 (2015-01-09) не воспроизводится.
Ни с 1.5.2, ни с разрабатываемой 1.5.3pre13 (исходный код).

То есть да, там делаются потенциально медленные обращения к содержимому вкладки, но основное все равно берется из стандартного контекстного меню. И я не пойму, что именно может мешать, совсем никак не получится убрать, только если пункт контекстного меню совсем отключить. А если не все убирать, то надо сперва воспроизвести.

Ну, и еще у меня только x86 есть, на x64 нет возможности проверить.

Например с  Element Properties 9 проблем нет. Да и с другими, которые добавляют пункты в меню и используются мной.
А с сабжом есть.

Kuja
Если выключить extensions.linkPropertiesPlus.context.onLinks и extensions.linkPropertiesPlus.context.onSelection перестает тормозить?
Как ведет себя эта версия (исходный код)? В общем, должно или начать тормозить только уже при вызове пункта меню, или там еще и получение ссылки через gContextMenu.linkURL тормозит. :sick:

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

Поставил версию из последнего сообщения.
Записал наглядное видео.

http://youtu.be/l59s-sPcdUo

Kuja
На контекстное меню влияют галочки из вкладки «Интеграция», вот эти:
[v] Показывать пункт контекстного меню для ссылок
[v] Показывать пункт контекстного меню для выделенных текстовых ссылок
А на первой вкладке только насчет внешнего вида окошка со свойствами ссылки.
По идее, если обе галочки убрать, тормозить будет нечему. Так что надо понять, какая из галочек приводит к подвисаниям.

Еще странно, что на пустом месте пункт меню показывает, там проверка через встроенный gContextMenu.onSaveableLink.
Или переходит к обработке текстовых ссылок, то там с e10s или ничего, или gContextMenu.onPlainTextLink проверяется.

Можно попробовать привлечь встроенный профайлер (Shift+F5), но у меня он не заработал, только с галочкой «Show Gecko platform data», но с ней слишком много лишнего вываливает (и все равно я не нашел там следов работы расширения). Возможно, сломали уже, раньше у меня работало.

Проверил еще раз.

Если убрать все галки
[v] Показывать пункт контекстного меню для ссылок
[v] Показывать пункт контекстного меню для выделенных текстовых ссылок

Подвисаний нет.

Если включить
[v] Показывать пункт контекстного меню для выделенных текстовых ссылок

То подвисания есть при ПКМ не на ссылках.

Kuja пишет

Если включить
[v] Показывать пункт контекстного меню для выделенных текстовых ссылок

То подвисания есть при ПКМ не на ссылках.

Не уверен, что дело было в этом, но зато полноценно заработало для выделенных текстовых ссылок:
https://github.com/Infocatcher/Link_Pro … abe9f7ca4c

Тестовая версия: link_properties_plus-1.5.3pre13_e10s_test2-fx-sm-tb.xpi (исходный код).

А релиз новой версии будет?
На АМО последней версии 2 года.

Kuja пишет

А релиз новой версии будет?

Будет. Все упирается во время на тестирование и выкладывание. Плюс пока даже ничего критичного не сломалось.

Kuja пишет

На АМО последней версии 2 года.

Так а там почти все работает, разве что с about:… ссылками проблема. И с e10s. Ну да там и с разрабатываемой версией не все хорошо.

Единственное расширение из 30, которые я использую, без цифровой подписи. И не обновилась так до релизной из тестовых.

Link Properties Plus 1.6.0: https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.0

Интересно, долго ли будут проверять теперь. :)

Link Properties Plus 1.6.0.1: https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.0.1

С e10s до сих пор не работает?

dartraiden пишет

С e10s до сих пор не работает?

Ну вообще оно работало, пока в Firefox не переделали compatibility shims.
https://github.com/Infocatcher/Link_Pro … /issues/20
Добавил туда тестовую версию, но цифровой подписи нет, просто так не поставить.

Infocatcher Спасибо.

Уже лет 7 пользуюсь вашим расширением. Очень жду подписанного, чтобы пользоваться многопоточностью. :)

Подписать для себя - это меньшая из проблем :)

Регистрируетесь на AMO (если пользуетесь синхронизацией, то учётка у вас уже есть), идёте в Инструменты -> Отправить новое дополнение, указываете, что будете распространять его самостоятельно. Открываете файл дополнения архиватором, в install.rdf меняете идентификатор (<em:id>linkPropertiesPlus@infocatcher</em:id>) на что-нибудь отличающееся (<em:id>linkPropertiesPlus@SurferNet</em:id>, например), сохраняете, загружаете дополнение на AMO.

Оно автоматически подписывается и вы можете его скачать для установки (старое только предварительно нужно снести).

Link Properties Plus 1.6.1 (2017-03-13): https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.1 *
Неподписанная версия: https://github.com/Infocatcher/Link_Properties_Plus/releases/tag/1.6.1
Изменения: https://github.com/Infocatcher/Link_Properties_Plus/blob/master/changelog-ru.md#161-2017-03-13

* На данный момент проверяется:
Позиция в очереди: 208 из 209 (звучит весьма «оптимистично», да)

Infocatcher

https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.1 *

Ссылка неправильная, да и пусто там :)

Infocatcher пишет

На данный момент проверяется:

Уже 11 дней проверяется? :sick: Мозилловцы совсем там сдурели?

SurferNet
А, ой, это я не переправил. Правда, правильная ссылка, пока не одобрят, ведет в никуда.

SurferNet пишет

Уже 11 дней проверяется? :sick: Мозилловцы совсем там сдурели?

Это нынче норма. Оптимистичный прогноз – недели так три.
Сейчас вот так:
Позиция в очереди: 122 из 212

Ирония еще в том, что просто подписать расширение, которое не будет выводиться в общем списке – дело пяти минут. Там автоматическая проверка – подписывает при отсутствии ошибок. Но если уже выложено, то надо или скрыть (чего делать не хочется), или изменить идентификатор и подписать... А тут еще и хотят перестать подписывать новые расширения на старых технологиях.

Ожидает проверки с 13 марта, «Позиция в очереди: 62 из 266». :sick:

Выложил типа как бета-версию:
https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.1pre2
Подписанная. Автоматически. Безопасненько. :lol:

Но есть минус: с этой версии не будет обновляться на релизы... И да, тут тоже сделано криво. :)

Infocatcher пишет

Ожидает проверки с 13 марта, «Позиция в очереди: 62 из 266». :sick:

Ну надо же. Сегодня одобрили.
https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.1

Infocatcher
Почему дата и время этого не берётся?
Есть такая программа Website-Watcher, она нормально забирает.

SurferNet пишет

Почему дата и время этого не берётся?
Есть такая программа Website-Watcher, она нормально забирает.

Отредактировано SurferNet (Сегодня 00:11:10)

у меня все берется thumb.png

SurferNet пишет

Почему дата и время этого не берётся?
Есть такая программа Website-Watcher, она нормально забирает.

Это из-за нижнего регистра заголовков, теперь можно как угодно лепить:
RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): 3.2.  Header Fields

Each header field consists of a case-insensitive field name followed
by a colon (":"), optional leading whitespace, the field value, and
optional trailing whitespace.

Там в ответе сервера

content-length: 3923576
content-type: application/octet-stream
last-modified: Wed, 30 Aug 2017 14:26:57 GMT

А проверки заголовков делаются для «Content-Length».
Записал себе: https://github.com/Infocatcher/Link_Pro … /issues/26

Farby пишет

у меня все берется http://rgho.st/8BYZkxTTW/thumb.png

Похоже, что SeaMonkey и старые версии Firefox приводят заголовки ответа к стандартному виду.

SurferNet пишет

Почему дата и время этого не берётся?

Тестовая версия: https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.2pre
Неподписанная версия: link_properties_plus-1.6.2pre-fx-sm-tb.xpi
(исходный код)

Infocatcher пишет

Mark compatible with Gecko 57.0a1

Что-то у меня about: ссылки никак...
Вот, так, вроде, работает, но снова дичь.

linkPropsPlus.js

Выделить код

Код:

del: `/*
    newChannelFromURI: function(uri, bypassCache) {
        var ch = uri.scheme == "about" && "nsIAboutModule" in Components.interfaces
            ? Components.classes["@mozilla.org/network/protocol/about;1?what=" + uri.path.replace(/[?&#].*$/, "")]
                .getService(Components.interfaces.nsIAboutModule)
                .newChannel(uri, null /* nsILoadInfo since Firefox 36 */)
    */`,

    get loadInfo() {
        var req = new Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest")();
        req.open("head", "chrome://linkpropsplus/content/overlayDownload.xul", true);
        delete this.loadInfo;
        return this.loadInfo = req.channel.loadInfo;
    },
    newChannelFromURI: function(uri, bypassCache) {
        var ch = uri.scheme == "about" && "nsIAboutModule" in Components.interfaces
            ? Components.classes[
                "@mozilla.org/network/protocol/about;1?what="
                + (uri.pathQueryRef || uri.path).replace(/[?&#].*$/, "")
            ]
                .getService(Components.interfaces.nsIAboutModule)
                .newChannel(uri, this.loadInfo /* nsILoadInfo since Firefox 36 */)
Выделить код

Код:

isValidURI: function(spec) {
        try {
            var ios = this.ios;
            var uri = ios.newURI(spec, null, null);
            var testChannel = "newChannelFromURIWithLoadInfo" in ios // Firefox 37+
                && this.fxVersion >= 44 // Throws in Firefox 37-43 with null nsILoadInfo
                //? ios.newChannelFromURIWithLoadInfo(uri, null)
                ? ios.newChannelFromURIWithLoadInfo(uri, this.loadInfo)

Infocatcher
Спасибо, работает.
Теперь после релиза ещё пару месяцев ждём появления в мозилла сторе? :lol:

Dumby пишет

Что-то у меня about: ссылки никак...

О, спасибо!
Какие они настырные с этим nsILoadInfo...
Хотел было спросить про pathQueryRef, потом погуглил на developer.mozilla.org (пусто), потом просто погуглил... больные люди, честное слово. :sick:

SurferNet пишет

Теперь после релиза ещё пару месяцев ждём появления в мозилла сторе? :lol:

Я пока не отправлял релиз на проверку. Скоро вообще могут прикрыть лавочку. о_О Хотя для SeaMonkey же еще.
Ну а для бета-канала подписывает после прохождения автоматических тестов.
Можно попытаться что-то сделать на WebExtensions, но ни в диалог сохранения влезть, ни окошко нормальное сделать. :(

Тестовая версия: https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.2pre2
Неподписанная версия: link_properties_plus-1.6.2pre2-fx-sm-tb.xpi
(исходный код)


Dumby пишет
Выделить код

Код:

var req = new Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest")();

Эксперименты показали, что раз действо происходит в окне, то и new XMLHttpRequest() есть и работает.

Infocatcher пишет

больные люди, честное слово

Как мягко и интеллигентно сказано.
Кстати, такой вот не displaySpec. :)

Dumby пишет

Как мягко и интеллигентно сказано.

Да что-то как-то... воздух-то сотрясать. Донести что-то дельное до разработчиков, по сути, так ни разу и не вышло у меня, а тут ругать некого.

Dumby пишет

Кстати, такой вот не displaySpec. :)

Вот что самое удивительное – вот в разметке юникод, а копирует оно самовольно эти свои пуникоды. А незадолго до – и network.standard-url.escape-utf8 = false отломали.

10-09-2017 23:34:17
Ага, лекарство: network.standard-url.punycode-host = false

И все-таки версия для WebExtensions:
https://github.com/Infocatcher/Link_Properties_Plus/issues/27#issuecomment-357682229
https://github.com/Infocatcher/Link_Properties_Plus_WE
https://github.com/Infocatcher/Link_Properties_Plus_WE/releases/tag/0.1a1
Но многое теперь недоступно, так что старая умеет намного больше.
В планах сначала подписать подправленную старую версию, а потом уже подписывать новую.

Infocatcher пишет

В планах сначала подписать подправленную старую версию

А где таковую скачать или посмотреть исходный код?
Попробую объяснить свою непонятку.

В гитхабских LPP-коммитах 2018 год, у меня, даже не отображается.
А по ссылке options.xul отображается что используются <pref{window, pane, erences, erence}>
Но обеспечительное, для этого, файло уже выпилено.

Если так, то я не в смысле, что мол что-то сделай,
но просто прокомментируй этот момент.

Dumby
Не, версия, увы, не настолько подправленная (на гитхабе самая свежая, какая есть): я только настройки по умолчанию починил и get/setStringPref() добавил.
Переделывать желания нет – тут бы прицепить обратно отпиленное. :sick: В смысле вернуть binding'и.
А по части подправленности – это я вспомнил, что уже для Firefox 58 нужны еще более свежие исправления. Просто как-то обидно: раз уж подправлено, то неплохо бы и выложить.

Свойства ссылки открываются только в отдельной вкладке - это жёстко, но всё равно радует, что начало положено.

Stanislav1989 пишет

Свойства ссылки открываются только в отдельной вкладке - это жёстко, но всё равно радует, что начало положено.

Есть же настройка: надо снять галочку «Открывать во вкладке». Окно, правда, убогое: это окно браузера с одной вкладной и скрытыми панелями.

Infocatcher, эту настройку пробовал с самого начала: окно не работает - вернее, оно появляется, но пустое. Пробовал в Firefox 57 и 58. Ниже скрин.
550383ac1178t.jpg
Потом переключился в настройках на открытие во вкладке, всё работает, но это слишком жёстко для регулярного использования.
До 59-ой версии включительно точно будет работать старый Extended Link Properties, а там видно будет.

Stanislav1989 пишет

окно не работает - вернее, оно появляется, но пустое.

Хм, странно. В консоли ошибок по Ctrl+Shift+J чего-нибудь пишет?

Предварительная новая версия:
link_properties_plus_we-0.1a2pre.xpi (исходный код)

Infocatcher, в консоли пишет следующее:

Выделить код

Код:

[Link Properties Plus WE] 17:02:831 contextMenus.onClicked: linkProperties  global.js:74:3
TypeError: cannot use 'in' operator to search for 'canGoBack' in 'browser'[Подробнее]  tabbrowser.xml:2485:1
    _insertBrowser chrome://browser/content/tabbrowser.xml:2485:1
    getRelatedElement chrome://browser/content/tabbrowser.xml:7202:11
    set_selectedIndex chrome://global/content/bindings/tabbox.xml:392:31
    tabs_XBL_Constructor chrome://global/content/bindings/tabbox.xml:261:13
    <анонимная> chrome://browser/content/tabbrowser.xml:45:9
    _updateNewTabVisibility chrome://browser/content/tabbrowser.xml:5868:15
    tabbrowser_XBL_Constructor chrome://browser/content/tabbrowser.xml:5926:11
[Link Properties Plus WE] 17:03:017 Prefs loaded  global.js:74:3
[Link Properties Plus WE] 17:03:021 getProperties()  global.js:74:3
[Link Properties Plus WE] 17:03:033 getProperties() -> sendRequest() for tab #7  global.js:74:3
"[Link Properties Plus WE] 17:03:036 sendRequest(): send() for http://download.piriform.com/ccsetup539.exe"  global.js:74:3
[Link Properties Plus WE] 17:03:117 sendRequest() -> headers received  global.js:74:3

Это пробовал 0.1a2pre. Случайно заметил, что если это маленькое окошко курсором уменьшить или увеличить в размере, то оно начинает работать. На 0.1a1 тоже самое. Но это ровно до следующего использования расширения.

10-02-2018 13:52:54
Нашёл причину неработы маленького окошка. Оказывается, оно не работает при выключенной мультипроцессности. При её включении всё чудесным образом зафункционировало.
Мультипроцессность всегда выключал из-за прожорливости на ресурсы, поэтому компромисс получается так себе.

Stanislav1989 пишет

Нашёл причину неработы маленького окошка. Оказывается, оно не работает при выключенной мультипроцессности. При её включении всё чудесным образом зафункционировало.

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

Stanislav1989 пишет

Случайно заметил, что если это маленькое окошко курсором уменьшить или увеличить в размере, то оно начинает работать.

Можно передернуть... будто бы заработало, хотя и видно, как моргает белым фоном неработающего окошка.

link_properties_plus_we-0.1a2pre2.xpi (исходный код)

Да, моргание заметно сильно. Правда, срабатывает исправление не всегда - 1-2-3 раза нормально, потом то самое пустое окошко - и так далее по кругу.
На данный момент получается, что при включенной мультипроцессности WE-версия более-менее юзабельна.

Infocatcher
А у меня наблюдается ещё и такой баг от реализаторов технологии WebExtensions.

скрытый текст
Link Properties Plus WE переведён в основной процесс, то есть e10s выключен,
или включён, но extensions.webextensions.remote = false

При открытии окна «Свойства ссылки» и последующего его перетаскивания,
ресайза и закрытия, не сохраняются позиция и размер окна.

То есть вызов browser.storage.local.set() из листенера на событие beforeunload
не приводит ни к какой записи.

Пробовал через browser.runtime.sendMessage()
отправить сообщение в background-окно, так до beforeunload сообщение приходит,
а из листенера — уже не приходит.
Изменение при добавлении листенера { once: true, capture: true } не помогает.

В общем, сделал так, и, вроде, всё сохраняется:
В properties.js

Выделить код

Код:

browser.windows.getCurrent().then(function(win) {
    if(win.type != "popup")
        return;

    // Workaround for empty window with disabled e10s mode
    browser.windows.update(win.id, {
        height: win.height + 1
    }).then(function() {
        browser.windows.update(win.id, {
            height: win.height
        });
    });

    addEventListener("beforeunload", function() { // Note: can't save on unload
        var windowPosition = {
            x: screenX,
            y: screenY,
            w: outerWidth,
            h: outerHeight
        };
        var broadcastChannel = new BroadcastChannel("LPP_windowPosition");
        broadcastChannel.postMessage({windowPosition});
        broadcastChannel.close();

        browser.storage.local.set({windowPosition});
    }, { once: true });
});

И, соответственно, в background.js

Выделить код

Код:

var broadcastChannel = new BroadcastChannel("LPP_windowPosition");
broadcastChannel.onmessage = function(msg) {
    browser.storage.local.set(msg.data);
}
addEventListener("unload", function() {
    broadcastChannel.close();
}, { once: true });

Ну, и чтобы мне было нагляднее, изменил открытие окна,
но это, конечно, «на любителя». Где-то мелькает маленькое окошко,
затем разворачивается в сохранённой позиции.

Выделить код

Код:

else {
        browser.windows.create({
            url: url,
            type: "popup",
            // Note: left and top will be ignored
            height: 42
        }).then(function(win) {
            browser.windows.update(win.id, {
                // Force move window (note: looks buggy)
                left:   p.x || 0,
                top:    p.y || 0,
                width:  p.w || 640,
                height: p.h || 480
            });
        });
    }

Dumby пишет

То есть вызов browser.storage.local.set() из листенера на событие beforeunload
не приводит ни к какой записи.

Ну и дела. Новые API, говорили они, станет лучше, говорили они...
Спасибо! Подкрутил.

Infocatcher, возможно ли реализовать в WE-версии запоминание позиции окна (помню, что оно же "окно браузера с одной вкладкой и скрытыми панелями")? Неудобно, когда каждый раз окно появляется в верхнем левом углу.
И каковы в целом дальнейшие планы по WE-версии? Отдельно интересно по проблеме с мультипроцессностью.
P.S. В 60 бета больше не работает отключение проверки цифровой подписи дополнений со всеми вытекающими последствиями. Решения пока нет, поэтому что дальше с WE-версией - интересно вдвойне.

Stanislav1989 пишет

возможно ли реализовать в WE-версии запоминание позиции окна (помню, что оно же "окно браузера с одной вкладкой и скрытыми панелями")?

Возможно, если выпрямить руки авторам WE-API.
Можно вот тут раскомментировать, положение окна будет восстанавливаться, но не сразу, сначала оно появится в исходной позиции.

Stanislav1989 пишет

И каковы в целом дальнейшие планы по WE-версии?

Так все запланировано за нас. С AMO хотят удалить все старые расширения. И бета-версии отключат (и вот тут может случиться сюрприз). Реализуемое реализовано, а дальнейшее зависит от расширения возможностей API браузера.

Stanislav1989 пишет

Отдельно интересно по проблеме с мультипроцессностью.

Так а проблемы и нет... полноценная версия тоже поддерживает мультипроцессность. А WE-расширения поддерживают ее изначально.

Stanislav1989 пишет

P.S. В 60 бета больше не работает отключение проверки цифровой подписи дополнений со всеми вытекающими последствиями. Решения пока нет, поэтому что дальше с WE-версией - интересно вдвойне.

Эээ... у меня работает, вроде (у меня в ходу только Nightly). Возможно, нужна еще распорка для восстановления настроек по умолчанию.
А так-то разрабатываемая XUL-версия (относительно) работает, могу попробовать ее подписать, пока и это не запретили (но все равно нужен хак для возможности ставить на релиз устаревшие расширения).

Infocatcher пишет

Эээ... у меня работает, вроде (у меня в ходу только Nightly).

В Nightly и Developer Edition да, работает. Для теста есть профиль ночнушки, так-то на релизе обычно - и в 60-ом будет "сюрприз".
От отключения проверки цифровой подписи дополнений на 60 beta всё же остался толк - по-прежнему даёт возможность установить неподписанные WE-дополнения. Если б его подписать... Тогда вообще можно было бы отказаться от костылей.

Infocatcher пишет

Так а проблемы и нет... полноценная версия тоже поддерживает мультипроцессность. А WE-расширения поддерживают ее изначально.

Не, я о другом, ровно наоборот всё - окошко WE-версии только и работает что с мультипроцессностью, без неё оно пустое. Но, возможно, это больше не проблема - на тестовом профиле гоняю WE-версию с открытием окна в новой вкладке (тут без e10s работает замечательно) и по-тихоньку начал привыкать :)

Link Properties Plus WE 0.1a2 (2018-04-06)
(изменения)

Зашёл после относительно долгого перерыва на ночнушку, обновился и очень скоро заметил, что legacy-версия Extended Link Properties совсем не работает. С костылями, без них - не работает. Теперь ещё и установить не даёт - типа дополнение повреждено.
В 60 Developer Edition без проблем устанавливается и более-менее работает.

Infocatcher пишет

Link Properties Plus WE 0.1a2 (2018-04-06)(изменения)

Infocatcher, просим вас, выложите эту версию на addons.mozilla.org в общий доступ! Она вполне работоспособна.
Уже утомило каждый раз за перезапуске FF добавлять во временные аддоны...
ПРОСИМ :)

Areopagit пишет

просим вас, выложите эту версию на addons.mozilla.org в общий доступ!

Я его то же самое вчера насчёт Right Links WE просил.
Судя по тому что он мне сказал, я так понял что у Infocatcher обидка на руководство addons.mozilla.org потому что

Infocatcher пишет

С AMO хотят удалить все старые расширения. И бета-версии отключат

и поэтому теперь Infocatcher будет байкотировать addons.mozilla.org до тех пор, пока не поймёт что этот бойкот не имеет смысла.

Areopagit пишет

Уже утомило каждый раз за перезапуске FF добавлять во временные аддоны...

Используйте метод двух файлов - https://forum.mozilla-russia.org/viewtopic.php?id=70326
Только код для config.js берите отсюда - https://forum.mozilla-russia.org/viewto … 89#p759289
WE-версия при таком раскладе работает и есть не просит.

Всех с новым годом!
Infocatcher
Нет планов подписать хотя бы как Right Links WE на github? И идёт ли развитие аддона? :)
Stаnislav1989
У меня на 64 лисе не работает. Ошибка чтения файла настроек.

SurferNet, у меня на 64-ой версии работает. Может, файл config не обновлён?

Stаnislav1989
Да всё сделал как надо, вроде. А можно ваши оба файла получить?

Насчет распорок от подписей у меня на 66.0a1 работает этот config.js + config-prefs.js.

SurferNet пишет

Нет планов подписать хотя бы как Right Links WE на github? И идёт ли развитие аддона? :)

Планы подписать есть, но без особой конкретики. Задача обмазывания бесполезными подписями не самая приоритетная...
По развитию – нет новых API со стороны браузера, нет и развития. Если есть конкретные пожелания – могу попробовать реализовать.
У меня были попытки поддержания старой версии в полуживом состоянии, но после bug 1449791 - Remove XUL Overlays масштаб костылепедирования стал слишком велик.

Infocatcher, просим, просто подпишите текущую версию и выложите в аддонах.
Даже текущая норм работает. Да, некоторый удобный функционал пропал, приходится отдельно нажимать, чтобы проверить размер и даты создания файла, но ведь работает!
Подпишите.

Infocatcher

Насчет распорок от подписей у меня на 66.0a1 работает этот config.js + config-prefs.js.

Я уже три варианта попробовал, никакие не работают. :sick:
На Iceweasel(который libportable) работает по-умолчанию.

Хотелось бы официальных версий обоих дополнений в Mozilla "Store". Или сейчас какие-то проблемы с ним?

Вроде даже подписало автоматически.
Link Properties Plus WE на AMO: https://addons.mozilla.org/firefox/addo … /versions/
Но я сменил идентификатор, старую WE-версию надо удалить.

SurferNet пишет

Хотелось бы официальных версий обоих дополнений в Mozilla "Store". Или сейчас какие-то проблемы с ним?

А не знаю. Автоматика раньше подписывала быстро, бета-версии можно было быстро выкладывать. Обычные версии проверялись редакторами и дооолго.
Лично мне хотелось бы, чтобы уже убрали видимость безопасности (подписать код с бэкдором – элементарно).
Мне вообще кажется, что именно открытость в свое время способствовала популяризации Firefox: любой мог написать свое расширение (или подправить чужое) буквально на коленке. Платных же расширений почти не было, авторы старались для себя. А теперь эффективные хромированные менеджеры гнобят авторов...
Более того, насколько я знаю, до сих пор можно сменить расширению ID, загрузить его на AMO... и получить автоматическую подпись.
Я еще понимаю двойную подпись: я качаю файл, вижу личную подпись разработчика, которому я доверяю, и смело ставлю. А доверия к автоматическим тестам у меня нет, потому как простор для обфускации кода широчайший.

Infocatcher

Link Properties Plus WE на AMO

Отлично! :beer: Пожалуй, это пока лучшая новость в этом году. Ещё бы Right Links WE тоже зарелизить, было бы идеально.
Жаль, что непрямые ссылки получаемые через POST или JS теперь не посмотришь совсем. :sick:

Infocatcher
Реально сделать, чтобы окно расширения (moz-extension://) можно было закрыть по ESC?

SurferNet пишет

Реально сделать, чтобы окно расширения (moz-extension://) можно было закрыть по ESC?

Окно закрывается обычным window.close()... а вот вкладка упрямится:

Scripts may not close windows that were not opened by script.

Безопасненько.

Тестовая версия (about:debugging – загрузить временное дополнение):
link_properties_plus_we-2.0b2pre.xpi (исходный код)
[*] Улучшена проверка сочетания клавиш: теперь помечается как некорректное только если не удался вызов browser.commands.update().
[+] Добавлена возможность закрывать вкладку/окно клавишей Esc.

Infocatcher пишет

Добавлена возможность закрывать вкладку/окно клавишей Esc.

Работает, спасибо.
Кстати, почему так?
eb1f37887095.png

SurferNet пишет

Кстати, почему так?

Глюк какой-то... наверное, ответ от сервера не пришел за время, отведенное браузером на запросы.
У меня под рукой Firefox 64.0.2 и 66.0a1, на них нормально, но иногда пропадают заголовки запроса :sick:

img
jRrkgDN.png

ddfh46E.png

26-01-2019 14:39:11

Infocatcher пишет

но иногда пропадают заголовки запроса

Оказывается, все просто: кто-то проявил чудеса интеллекта и обмазал API толстым слоем асинхронности, так что теперь уведомление browser.webRequest.onSendHeaders об отправке запроса может случиться после получения ответа от сервера. Чудеса.

Infocatcher пишет

Чудеса.

Это в 65ом поломали?

У меня вопрос - можно ли через LPP ловить редиректы и увидеть свойства итогового файла? Пример

скрытый текст
Начальный URL https://www.cornplayer.com/Client/Download_x64

Промежуточный https://www.cornplayer.com/Files/onClientDownload_D/310

Конечный https://www.cornplayer.com/uploadFiles/client/CORNPlayerW.x64_1.0.3.57.Installer.exe

Link Properties Plus WE 2.0b2 (2019-01-26)
https://addons.mozilla.org/firefox/addo … /versions/
https://github.com/Infocatcher/Link_Pro … /tag/2.0b2

Изменения:
[*] Улучшена проверка сочетания клавиш: теперь помечается как некорректное только если не удался вызов browser.commands.update().
[+] Добавлена возможность закрывать вкладку/окно клавишей Esc.
[x] Исправлен вывод заголовков запроса даже если оповещение browser.webRequest.onSendHeaders пришло после ответа сервера.


SurferNet пишет

Это в 65ом поломали?

Хм, поставил... похоже, что нет: на 65.0b12 и на 65.0 у меня работает (но, опять же, могут пропасть заголовки запроса).

SurferNet пишет

У меня вопрос - можно ли через LPP ловить редиректы и увидеть свойства итогового файла?

Да, можно.
Но в данном случае дается перенаправление через
refresh: 0;url=https://…
Так что такое и старая XUL-версия не определяет (при этом в заголовках ответа видно этот refresh). А с учетом того, что refresh может быть не только в заголовках ответа сервера, но и в HTML (<meta http-equiv="refresh" content="0; URL=http://…" />), обрабатывать его затруднительно.
Для обычных перенаправлений по типу https://ru.wikipedia.org/wiki/Служебная:Случайная_страница работает.

Infocatcher пишет

2.0b2

Хмм, такая же ситуация :rolleyes:

скрытый текст
f87a1d20af26.png

SurferNet пишет

Хмм, такая же ситуация :rolleyes:

В консоли (Ctrl+Shift+J) на что-нибудь относящееся к расширению ругается?
И что пишет, если поставить в настройках галочку «отладочный режим»?

скрытый текст
b278358e2d7f.png

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

Выделить код

Код:

Ресурс на «http://infocatcher.ucoz.net/temp/lpp/link_properties_plus_we-2.0b2pre.xpi» был заблокирован, так как включена блокировка содержимого.[Подробнее] properties.html
Key event недоступен при использовании некоторых раскладок клавиатуры: ключ=«i» модификаторы=«accel,alt,shift» id=«key_browserToolbox» browser.xul
Notifications have been updated background.js:57:17
BG_GET: check_msg_api_mod <unavailable> background.js:571:7
ext_bg: get_scripts  developer.mozilla.org background.js:328:7
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowUtils.removeSheet]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: resource://gre/modules/ExtensionCommon.jsm :: runSafeSyncWithoutClone :: line 65"  data: no]

    runSafeSyncWithoutClone resource://gre/modules/ExtensionCommon.jsm:65 cleanup resource://gre/modules/ExtensionContent.jsm:362 

BG_GET: check_msg_api_mod <unavailable> background.js:571:7
ext_bg: get_scripts  developer.mozilla.org background.js:328:7
[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowUtils.removeSheet]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: resource://gre/modules/ExtensionCommon.jsm :: runSafeSyncWithoutClone :: line 65"  data: no]

    runSafeSyncWithoutClone resource://gre/modules/ExtensionCommon.jsm:65 cleanup resource://gre/modules/ExtensionContent.jsm:362 

NS_ERROR_ILLEGAL_VALUE: ContentMetaHandler.jsm:156
editor is null UrlbarValueFormatter.jsm:285

    _formatSearchAlias resource:///modules/UrlbarValueFormatter.jsm:285 update resource:///modules/UrlbarValueFormatter.jsm:58 formatValue chrome://browser/content/urlbarBindings.xml:585 _setValueInternal chrome://global/content/bindings/autocomplete.xml:602 set_value chrome://global/content/bindings/autocomplete.xml:280 URLBarSetURI chrome://browser/content/browser.js:2667 onLocationChange chrome://browser/content/browser.js:4812 callListeners chrome://browser/content/tabbrowser.js:731 _callProgressListeners chrome://browser/content/tabbrowser.js:744 _callProgressListeners chrome://browser/content/tabbrowser.js:4842 onLocationChange chrome://browser/content/tabbrowser.js:5176 _callProgressListeners resource://gre/modules/RemoteWebProgress.jsm:153 receiveMessage resource://gre/modules/RemoteWebProgress.jsm:240 

Ресурс на «http://infocatcher.ucoz.net/temp/lpp/link_properties_plus_we-2.0b2pre.xpi» был заблокирован, так как включена блокировка содержимого.[Подробнее] properties.html
Перешёл на chrome://browser/content/browser.xul
Ignoring response to aborted listener for 4519

SurferNet
Ого,
Ресурс на «http://infocatcher.ucoz.net/temp/lpp/link_properties_plus_we-2.0b2pre.xpi» был заблокирован, так как включена блокировка содержимого.[Подробнее] properties.html
Видимо, в этом и дело.

Link Properties Plus WE 2.0b3 (2019-01-28)
https://addons.mozilla.org/firefox/addon/link-properties-plus/versions/
https://github.com/Infocatcher/Link_Properties_Plus_WE/releases/tag/2.0b3

Изменения:
[x] Добавлено корректное прекращение ожидания оповещения browser.webRequest.onSendHeaders в случае блокировки запроса.
[+] Добавлена поддержка выделенных текстовых ссылок (Firefox 60+).