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

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

№102-05-2016 17:15:25

Mozillafan
Участник
 
Группа: Members
Зарегистрирован: 02-05-2016
Сообщений: 16
UA: Firefox 45.0

Невозможно добавить свой поисковый плагин.

Уважаемые форумчане, кто сталкивался с такой проблемой:
После обновления firefox до 45–й версии, стало невозможно добавить свой поисковый плагин. При добавлении xml файла в папку searchplugins, он в firefox не отображается, а устанавливаемые с некоторых сайтов их поисковые плагины, ставятся неизвестно куда, а не в searchplugins, как раньше. Через http://mycroftproject.com/ плагины ставятся, но, опять таки, найти их в каких–либо папках невозможно, да и не всегда целесообразно публиковать какие–то узкоспециализированные плагины.
Возможно ли теперь добавление своего плагина и, если — да, то как? Кто какие видит пути решения данного вопроса? Заранее благодарен за ответ.

Отсутствует

 

№202-05-2016 17:47:34

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

Re: Невозможно добавить свой поисковый плагин.

В search.json они теперь ставятся. Если какой-то из новых плагинов в search.json или из старых, в папке searchplugins, не добавился/обновился после редактирования, то удалите, при закрытом браузере, файл search.json.mozlz4 (это что-то вроде кэша поисковых плагинов).

Отсутствует

 

№302-05-2016 18:24:56

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

Re: Невозможно добавить свой поисковый плагин.

turbot
Папки searchplugins вообще не существует в последних версиях. Если удалить файл search.json.mozlz4 то удалятся все установленные поиски.

Mozillafan
Поисковые плагины добавляются в файл search.json.mozlz4. Те сайты которые не предлагают добавить свой поиск, можно добавить дополнением Add to Search Bar.
Перемещаются и удаляются поиски в настройках на вкладке поиск.

Отредактировано oleg.sgh (02-05-2016 18:27:01)

Отсутствует

 

№402-05-2016 18:47:48

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

Re: Невозможно добавить свой поисковый плагин.

oleg.sgh пишет

Папки searchplugins вообще не существует в последних версиях.

Но старые, если были, подхватываются и переносятся в search.json. И я настаиваю, что хранятся они именно в нем, а search.json.mozlz4 - кэш 1203167 – Store user-installed search plugins in a JSON file and stop loading [profile]/searchplugins/*.xml

Добавлено 02-05-2016 18:51:54
Черт, наоборот. Невнимательно читал. search.json - кэш, а хранятся в search.json.mozlz4. :dumb:

Отредактировано turbot (02-05-2016 18:52:08)

Отсутствует

 

№502-05-2016 18:55:34

Jerome
Участник
 
Группа: Members
Зарегистрирован: 09-11-2011
Сообщений: 94
UA: Firefox 46.0

Re: Невозможно добавить свой поисковый плагин.

Отсутствует

 

№602-05-2016 18:55:58

Mozillafan
Участник
 
Группа: Members
Зарегистрирован: 02-05-2016
Сообщений: 16
UA: Firefox 45.0

Re: Невозможно добавить свой поисковый плагин.

turbot пишет

В search.json они теперь ставятся. Если какой-то из новых плагинов в search.json или из старых, в папке searchplugins, не добавился/обновился после редактирования, то удалите, при закрытом браузере, файл search.json.mozlz4 (это что-то вроде кэша поисковых плагинов).

Спасибо за ответ, и можно поподробнее о технологии, а то в этом search.json одна бесконечная "макаронина" и что там куда добавлять не совсем понятно, а search.json.mozlz4 — вообще "китайская грамота" с непонятными символами.

Отсутствует

 

№702-05-2016 18:56:36

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

Re: Невозможно добавить свой поисковый плагин.

turbot
Да, но если удалить search.json.mozlz4 то поисковики вряд ли восстановятся из папки searchplugins. Скорее всего, нужно будет откатить до 44-й и опять обновить.
Я не настаиваю но в моем новом профиле  файла search.json нет.

скрытый текст
b-6983.png

Отсутствует

 

№802-05-2016 19:05:11

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

Re: Невозможно добавить свой поисковый плагин.

Mozillafan
Если вручную, то я попрежнему создаю xml-ки в папке searchplugins. Они подхватываются и добавляются, как я говорил. Отредактированные в нем - также подхватываются с изменениями. А вот отредактировать установленные через плюсик в поисковой строке, либо аддонами - сам пока не знаю. search.json - обычный файл json - отредактировать его не проблема, но, раз это только кэш, бессмысленно. Редактировать надо search.json.mozlz4. Сейчас погуглю, что за зверь mozlz4.

Добавлено 02-05-2016 19:09:43
oleg.sgh
Да-да, я там поправился:

search.json - кэш, а хранятся в search.json.mozlz4.

Был не прав. А вот почему у вас кэш не создается - не знаю. Может, только при наличии поисковиков в searchplugins создается? И да, вы правы, если удалить search.json.mozlz4 - то удалятся поисковики. Но только те, что уже в него добавлены были. Из searchplugins - заново подхватятся. Проверено.

Отредактировано turbot (02-05-2016 19:11:07)

Отсутствует

 

№902-05-2016 19:21:04

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

Re: Невозможно добавить свой поисковый плагин.

turbot

Может, только при наличии поисковиков в searchplugins создается?

Может. В новых профилях новых версий этой папки вообще нет и  вряд ли стоит сейчас делать на этой папке акцент. Перенос своих поисковиков, из профиля в профиль, производится переносом файла search.json.mozlz4. Проверено...методом  тыка )
Моя эпопея с поисками

Отредактировано oleg.sgh (02-05-2016 19:26:51)

Отсутствует

 

№1002-05-2016 19:22:50

Mozillafan
Участник
 
Группа: Members
Зарегистрирован: 02-05-2016
Сообщений: 16
UA: Firefox 45.0

Re: Невозможно добавить свой поисковый плагин.

Jerome пишет

Спасибо, но, судя по картинке, с помощью него можно сделать плагин только для GET–запросов, да и я как–то привык видеть, что я в свою мозиллу "сую". Некоторые сайты добавляют вместе с плагинами посторонний код, который как–бы ничему и не вредит, но и на поиск никак не влияет, а искать его потом и удалять вручную у меня большого желания нет (тем более, что где его искать, я пока до конца не разобрался).

Отсутствует

 

№1102-05-2016 19:25:30

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

Re: Невозможно добавить свой поисковый плагин.

Что-то я запутался вот тут говорится, что search.json.mozlz4 - кэш:

It saves the cache file to search.json.mozlz4

Файл, судя по всему LZ4 алгоритмом пожатый json, но что-то у меня он не распаковывается. Видимо, какая-то их собственная имплементация:

This file format is in fact just plain LZ4 data with a custom header (magic number [8 bytes] and uncompressed file size [4 bytes, little endian])

Нарыл только скрипт для питона. Оттуда и цитата.

Добавлено 02-05-2016 19:28:01
Mozillafan
Я ж говорю - создавайте по старинке, в xml. Они подхватываются и импортируются то ли в search.json.mozlz4, то ли в search.json. Пока, покрайней мере

Отредактировано turbot (02-05-2016 19:38:37)

Отсутствует

 

№1202-05-2016 19:44:58

Mozillafan
Участник
 
Группа: Members
Зарегистрирован: 02-05-2016
Сообщений: 16
UA: Firefox 45.0

Re: Невозможно добавить свой поисковый плагин.

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

Отсутствует

 

№1302-05-2016 20:12:57

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

Re: Невозможно добавить свой поисковый плагин.

Mozillafan
У меня даже на ночнушке 49-ой подхватывает. Может битые файлы search.json.mozlz4, search.json и search-metadata.json. Попробуйте их удалить (бекапы делать не забываем) при закрытом браузере и запустить. Все должно подхватить.

Отсутствует

 

№1403-05-2016 17:00:55

Mozillafan
Участник
 
Группа: Members
Зарегистрирован: 02-05-2016
Сообщений: 16
UA: Firefox 46.0

Re: Невозможно добавить свой поисковый плагин.

Спасибо, помогло, но лишь частично. После удаления search.json, search.json.mozlz4 и search-metadata.json действительно подхватываются плагины из папки searchplugins, мало того, появляются даже те плагины, которые стояли в браузере по умолчанию, но впоследствии были удалены вручную, причём файл search.json.mozlz4 автоматически восстанавливается, остальные два — нет. Но, при повторной попытке добавить xml в searchplugins — та же история, из–за которой собственно и возникла эта тема, т. е. чтобы добавить свой поисковый плагин, надо предварительно удалить файл search.json.mozlz4, иначе никак. В общем, крайне неудобно, каждый раз приходится чистить браузер от ненужных поисковиков. Откатываюсь к 43–й версии, там всё просто, понятно и удобно.

Отсутствует

 

№1503-05-2016 17:20:33

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

Re: Невозможно добавить свой поисковый плагин.

Mozillafan
Хм, сейчас проверил - вы правы. У меня не так давно, где-то на 47-ой ночнушке еще обновлялись при редактировании/добавлялись. Что-то поменяли. :(
Значит, надо искать декомпрессор/компрессор для mozlz4. Питон что-то ставить неохота, а больше ничего не нагуглил...
А может кто аддон под редактирование плагинов напишет, дело-то востребованное.

Отсутствует

 

№1603-05-2016 18:12:46

hajikodenuro
Участник
 
Группа: Members
Зарегистрирован: 03-05-2016
Сообщений: 1
UA: Firefox 45.0

Re: Невозможно добавить свой поисковый плагин.

1. Set devtools.chrome.enabled to true in about:config
1. Open the browser console. (Tools -> Web Developer -> Browser Console)
2. Run Services.search.addEngine("file:///Users/.../opensearch.xml", null, null, false);

(For the file URL, you can copy what appeared in the URL bar after you used the "File -> Open File" menu item)

1236498 – Unable to replace user added search engine icon by editing search.json(.mozlz4) or xml file

Отредактировано hajikodenuro (03-05-2016 18:18:57)

Отсутствует

 

№1703-05-2016 18:25:54

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

Re: Невозможно добавить свой поисковый плагин.

hajikodenuro
Ага, спасибо.

Вот еще нашел как распаковать, код для Cusstom Buttons, во вкладку код:

Выделить код

Код:

var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
fp.init(window, "Open File", Components.interfaces.nsIFilePicker.modeOpen);
fp.appendFilter("Mozilla's 'mozLz4' format", "*.jsonlz4; *.mozlz4");
if (fp.show() == Components.interfaces.nsIFilePicker.returnOK) {
  var file = fp.file;
  if (file.exists() && file.isFile() && file.isReadable()) {
    var oldFile = fp.file.path;
    var newFile = oldFile.replace( ".mozlz4", ".json" || ".jsonlz4", ".json" );
    Components.utils.import("resource://gre/modules/Task.jsm");
    Components.utils.import("resource://gre/modules/osfile.jsm");
    function decompress(oFilePath,nFilePath){
      return Task.spawn(function* () {
        var jsonString = yield OS.File.read(oFilePath,{ compression: "lz4" });
        yield OS.File.writeAtomic(nFilePath, jsonString);
      })
    }
    decompress(oldFile,newFile);
  }
}

- после выбора файла, распакованный .json сохраняется в ту же папку. Осталось только прикрутить обратную запаковку. Ковыряю пока.

Отредактировано turbot (03-05-2016 18:59:29)

Отсутствует

 

№1803-05-2016 19:30:03

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

Re: Невозможно добавить свой поисковый плагин.

Сделал. Во вкладку "код". По нажатию, в окне проводника выбираете файл с расширением jsonlz4/mozlz4/json, и запакованный/распакованный файл пишется в ту же директорию. Существующий файл с таким же именем и расширением будет перезаписан без подтверждения.

Выделить код

Код:

var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
fp.init(window, "Open File", Components.interfaces.nsIFilePicker.modeOpen);
fp.appendFilter("Mozilla's Lz4 and json files format", "*.jsonlz4; *.mozlz4; *.json");
if (fp.show() == Components.interfaces.nsIFilePicker.returnOK) {
  var file = fp.file;
  if (file.exists() && file.isFile() && file.isReadable()) {
    Components.utils.import("resource://gre/modules/Task.jsm");
    Components.utils.import("resource://gre/modules/osfile.jsm");
    var oldFile = fp.file.path;
    if (oldFile.endsWith(".json")) {
      var newFile = oldFile.replace(/(\.json)$/, ".mozlz4");
      function compress(oFilePath,nFilePath){
        return Task.spawn(function* () {
          var jsonString = yield OS.File.read(oFilePath);
          yield OS.File.writeAtomic(nFilePath, jsonString,{ compression: "lz4" });
        })
      }
      compress(oldFile,newFile);
    }
    else {
      var newFile = oldFile.replace( ".mozlz4", ".json" || ".jsonlz4", ".json" );
      function decompress(oFilePath,nFilePath){
        return Task.spawn(function* () {
          var jsonString = yield OS.File.read(oFilePath,{ compression: "lz4" });
          yield OS.File.writeAtomic(nFilePath, jsonString);
        })
      }
      decompress(oldFile,newFile);
    }
  }
};

Добавлено 03-05-2016 19:33:42
Еще бы распакованный json файл форматировать в удобочитаемый вид, как это делает в скратчпаде кнопка "prety print" и обратно... Но не потяну.

Мож, Dumby сюда заглянет? :rolleyes:

Отредактировано turbot (03-05-2016 20:06:22)

Отсутствует

 

№1903-05-2016 19:52:46

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

Re: Невозможно добавить свой поисковый плагин.

turbot пишет

Еще бы распакованный json файл форматировать в удобочитаемый вид, как это делает в скратчпаде кнопка "prety print" делает и обратно... Но не потяну.

Код форматирования JSON можно позаимствовать из JSONovich

Отсутствует

 

№2003-05-2016 20:02:49

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

Re: Невозможно добавить свой поисковый плагин.

Много кода. Да еще addon sdk... Я там до второго пришествия ковыряться буду, с моими-то познаниями. Уж проще из devtools прикрутить. Но я и это не осилю. :dumb:

Отсутствует

 

№2103-05-2016 20:17:38

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

Re: Невозможно добавить свой поисковый плагин.

А чем всех не устраивает Add to Search Bar?

Отсутствует

 

№2203-05-2016 20:28:56

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

Re: Невозможно добавить свой поисковый плагин.

voqabuhe
Всем устраивает. Только его новая версия также пишет сразу в search.json.mozlz4 и отредактировать добавленный поиск также становится проблематично.

Отсутствует

 

№2303-05-2016 20:34:11

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

Re: Невозможно добавить свой поисковый плагин.

turbot
Удалить и добавить снова с нужным названием.
Никак не могу понять необходимости редактировать поиск именно редакцией файла в профиле.
Или под редактированием подразумевается еще что то?

Отсутствует

 

№2403-05-2016 20:35:46

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

Re: Невозможно добавить свой поисковый плагин.

oleg.sgh пишет

Удалить и добавить снова с нужным названием.

При чем тут название? Поменять параметры запроса можно только редактированием.

Отредактировано turbot (03-05-2016 20:39:09)

Отсутствует

 

№2503-05-2016 21:06:16

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

Re: Невозможно добавить свой поисковый плагин.

turbot пишет

Много кода.

Насколько я понял при беглом просмотре, собственно форматирование там - 8-килобайтный json2html.js, а всё остальное - разборки с серверами, откуда данные берутся, и настройки.
В вашем же случае превращать надо даже не в HTML, а в простой текст, так что: JSON.parse() и проход (рекурсивный) по получившемуся массиву с дописыванием в начало очередной посещённой строки нужного количества пробелов.

Отредактировано yup (03-05-2016 21:06:47)

Отсутствует

 

Board footer

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