>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Спрограммировал расширение, заменяющее новую вкладку http://forum.mozilla-russia.org/viewtopic.php?id=74093 |
username1 > 08-12-2018 03:08:28 |
Сначала я поискал в разделе "Управление дополнениями" расширение по ключевым словам "speed dial", но все найденные расширения при попытке установки просили дать им "Доступ к вашим данным для всех веб-сайтов", я подумал, что это не безопасно. Поэтому стал изучать вопрос, можно ли изменить новую вкладку на указанный мной адрес страницы, но оказалось нет, нельзя. Можно конечно использовать стандартную страницу, и там есть "Топ сайтов", но мне не понятно, как пользоваться этими функциями, обычные визуальные закладки намного удобнее. Поэтому я решил создать новое расширение. В яндексе легко найти по словам "firefox extension hello world" документацию, описывающую, как создать новое расширение для браузера firefox, в основном документация на английском, но составлена она понятно. Оказалось, что расширения - это архивы в формате zip. Чтобы набраться опыта, я скачал расширение "methodgrab/firefox-custom-new-tab-page", переименовал расширение xpi в zip, и распаковал. Затем я пару дней экспериментировал, и у меня получилось две версии приложения: первая - новая вкладка меняется на сайт визуальных закладок путём изменения адреса страницы, вторая - новая вкладка загружает сайт визуальных закладок внутрь ифрейма. По правилам форума я не могу назвать адрес сайта, но сложность в том, что сессия пользователя живёт на этом сайте не долго, пару минут, так что мне пришлось добавлять в расширение jquery и автоматически осуществлять вход на сайт. Но во второй версии расширения автовход на сайт срабатывает через раз. Видимо в первом случае использование метода content_scripts и matches всегда вызывает функцию проверки входа, а во втором случае я не могу получить доступ к содержимому ифрейма, а могу только выполнить новый ajax get запрос. Как выяснилось установку расширения можно выполнить лишь получив специальное разрешение - подпись мозилла, но чтобы не регистрироваться и не ждать неизвестно чего, я просто указал в about:config xpinstall.signatures.required = false. Всем желающим могу выслать мои расширения на электронную почту. |
username1 > 11-12-2018 20:32:08 |
Выяснилось, что для того чтобы скрипты выполнялись не только, когда адресная строка браузера совпадает с маской, но и когда нужный адрес грузится в iframe, нужно в "content_scripts" добавить параметр "all_frames": true Как оказалось, регистрация на сайте firefox довольно простая, мне удалось загрузить дополнение и в течение 24 часов оно уже было опубликовано на сайте. Вы можете установить дополнение, набрав в поиске "Новая вкладка null-page", выбрав дополнение и нажав "Добавить в Firefox". |
Coroner > 12-12-2018 04:38:55 |
1. Почему на странице в АМО всё на китайском? Вы китаец? username1 пишет
3. Для чего вся затея, если это требуют любые дополнения. И ваше, разумеется, не исключение. скрытый текст |
username1 > 16-12-2018 18:03:53 |
Coroner пишет
на странице расширения "Новая вкладка null-page" название и описание написаны на русском языке |
Coroner > 16-12-2018 21:16:55 |
Внутренним поиском АМО в первый раз найти не смог. 16-12-2018 21:17:21 |
username1 > 17-12-2018 09:46:24 |
Coroner пишет
удалил 17-12-2018 09:49:21 Coroner пишет
написано в первом сообщении темы |
Coroner > 22-12-2018 23:48:25 |
username1 пишет
Там написано: «все найденные расширения при попытке установки просили дать им "Доступ к вашим данным для всех веб-сайтов"» Перефразирую вопрос «Для чего вся затея» на такой: В чём разница между найденными вами дополнениями и созданным вами, если ваше точно также просит доступ к данным пользователя? |
username1 > 24-12-2018 12:52:20 |
в том, что доступ не "для всех сайтов", а только на null-page |
Coroner > 24-12-2018 13:37:03 |
username1 пишет
...которая сама по себе бесполезна без добавления функционала, который потребует тот самый «доступ к вашим данным для всех веб-сайтов»... Понятно, спасибо за объяснение. |
username1 > 24-12-2018 15:17:53 |
какого функционала? |