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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№22627-02-2010 12:25:00

Claire
Участник
 
Группа: Members
Зарегистрирован: 23-11-2009
Сообщений: 5
UA: Firefox 3.5

Re: Вопросы (и ответы) по разработке расширений

хочу подгружать в кэш  нужные мне страницы. я так понимаю, что нужно использовать кэш- memory cache device. мне нужен пример работы с ним. а еще понять чем отличается один кэш от другого (memory cache device и disk cache device), когда использовать stream based и no stream baset. описание некоторых интерфейсов я нашла, но когда какую функцию/ интерфейс использовать мне пока не понятно.. Если работали с кэшем объясните мне, пож-та, принцип работы самого кэша и работы с ним. может пример какой есть?

Отредактировано Claire (09-03-2010 15:50:50)

Отсутствует

 

№22704-03-2010 13:32:10

Naozumi
Участник
 
Группа: Members
Зарегистрирован: 04-03-2010
Сообщений: 3
UA: Firefox 3.6

Re: Вопросы (и ответы) по разработке расширений

Скажите возможно ли из расширения вызывать метод из JS, который находится на конкретной странице?

Отсутствует

 

№22804-03-2010 15:43:00

Elexander
Участник
 
Группа: Members
Зарегистрирован: 06-10-2008
Сообщений: 54
UA: Opera 10.1

Re: Вопросы (и ответы) по разработке расширений

Naozumi пишет:

Скажите возможно ли из расширения вызывать метод из JS, который находится на конкретной странице?

Возможно. Вставьте скрипт (<srcipt>...</script>) в страницу, он сразу исполнится.

Отсутствует

 

№22904-03-2010 19:55:55

Naozumi
Участник
 
Группа: Members
Зарегистрирован: 04-03-2010
Сообщений: 3
UA: Firefox 3.6

Re: Вопросы (и ответы) по разработке расширений

Elexander
Я так понимаю через createElement и innerHTML? Почему-то не выходит.

Отсутствует

 

№23005-03-2010 10:10:55

Elexander
Участник
 
Группа: Members
Зарегистрирован: 06-10-2008
Сообщений: 54
UA: Opera 10.1

Re: Вопросы (и ответы) по разработке расширений

Naozumi пишет:

Elexander
Я так понимаю через createElement и innerHTML? Почему-то не выходит.

Выделить код

Код:

var script = "<script>alert('');</script>";
var range = document.createRange();
range.selectNode(document.getElementsByTagName("div").item(0));
var documentFragment = range.createContextualFragment(script);
document.body.appendChild(documentFragment);

Отсутствует

 

№23107-03-2010 13:07:54

Naozumi
Участник
 
Группа: Members
Зарегистрирован: 04-03-2010
Сообщений: 3
UA: Firefox 3.6

Re: Вопросы (и ответы) по разработке расширений

Elexander
Спасибо.
Есть еще вопрос, как вставить в документ (cp1251) строку в utf8, полученную посредством XMLHttpRequest?
В Firefox есть какие-то средства перекодировки?

Отсутствует

 

№23210-08-2015 14:39:19

Racketa
Участник
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 1
UA: Chrome 44.0

Re: Вопросы (и ответы) по разработке расширений

Ребят, помогите найти спецификации и технические требования к компонентам расширений. Может я не там ищу, но в центре разработчика https://developer.mozilla.org/en-US/Add-ons не нашел такой инфы

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

Сейчас вот надо ставить заказ дизайнеру для разработки дизайна, а я даже требования не могу сформулировать :(

Отсутствует

 

№23325-10-2015 15:07:24

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

А скажите пожалуйста!
Зачем нужны так называемые "расширения"?
Почему нельзя просто писать программы JavaScript?
Мне нужно просто написать одну программку, которая будет работать с содержимым веб-страниц (искать в тексте определенные фразы и сохранять их на диск) и я в замешательстве: на чем писать?

Скажите пожалуйста: какие преимущества оформления программы именно как расширения Firefox, а не просто JS-скрипта?

Отсутствует

 

№23425-10-2015 16:48:10

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

Re: Вопросы (и ответы) по разработке расширений

Доктор ТуамОсес пишет:

Зачем нужны так называемые "расширения"?

Затем , чтобы те кто ваабче_нивзубногой в программировании и в JS в частности, могли поставить расширение и заиметь полезную плюшку.

Доктор ТуамОсес пишет:

на чем писать?

CustomButtoms Готовые кнопки для Custom Buttons | Форум Mozilla Россия
http://www.kolobok.us/smiles/big_standart/scratch_one-s_head.gif

Отсутствует

 

№23525-10-2015 22:46:19

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

jars
Я не совсем точно выразился.
Я имел виду зачем писать приложения именно в формате расширения?
Почему нельзя сразу на JS?

кто ваабче_нивзубногой в программировании
Это не ко мне.
У меня в программировании большой опыт.
Просто я вебом не занимался

Отсутствует

 

№23626-10-2015 10:42:16

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

Re: Вопросы (и ответы) по разработке расширений

Ну чегож нипанятна-то :)  Расширение - это законченный "продукт". Для него не нужно доп.костылей

Доктор ТуамОсес пишет:

Почему нельзя сразу на JS?

типа GreaseMonkey и др. подобных ибо сам бравзер не желает подключать юзерскрипты, нужна_прокладка. Упаковал в *.xpi и устанавливай сразу без танцев, а ежели еще и Restartless то вообще класс. + скорей всего у расширений есть какие-то спецфичские возможности в виде API-func недоступных из userJS, тут не знаю точно. Но для задачи "поиск текста на странице и действия с ним" подойдет любой способ - расширение, GM+JS, CB

Отсутствует

 

№23726-10-2015 11:44:24

lolipop
Участник
 
Группа: Members
Зарегистрирован: 03-07-2015
Сообщений: 126
UA: Firefox 38.0

Re: Вопросы (и ответы) по разработке расширений

jars
Вообще-то сам "бравзер" умеет подключать чистый javascript, если на странице выкладки выкладывать ещё и инструкцию как это сделать, то сработает.
https://github.com/firefoxForUser/esr38 … %82%D1%8B-
Аж 3 способа подключения скриптов без GreaseMonkey.

Отсутствует

 

№23826-10-2015 22:44:11

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

lolipop
Ну если можно напрямую JS писать и подключать, то для чего пишутся расширения?
Может глупые вопросы задаю. Извините.
Просто я правда не врубаюсь.
В чем преимущество "расширений" перед чистыми JS-ами?

Отсутствует

 

№23927-10-2015 10:10:19

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 41.0

Re: Вопросы (и ответы) по разработке расширений

Доктор ТуамОсес
На чём расширения пишутся? Разве [только] на JS?
У подключаемых скриптов не везде доступ будет. Страницы — OK, а «кишки» браузера?

Отсутствует

 

№24027-10-2015 22:35:48

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

littleleshy
Т.е.  у аддонов больше возможностей пошерудить у юзверя на харддиске и в "кишках" самого браузера?

Отсутствует

 

№24127-10-2015 23:21:21

lolipop
Участник
 
Группа: Members
Зарегистрирован: 03-07-2015
Сообщений: 126
UA: Firefox 38.0

Re: Вопросы (и ответы) по разработке расширений

Доктор ТуамОсес
Да, у кода на javascript появляется доступ к дополнительным наборам функций, которыми можно сделать практически всё. Тогда как возможности javascript запускаемого на странице специально урезаны, чтобы ими не пользовались хакеры, и урезаны они с глубокой древности. Хотя вот сейчас с валом новых функций для стандартного javascript запускаемого на странице начали вылезать баги связанные с тем, что у скрипта много прав и хакеры этим пользуются. Но такие баги быстро исправляют.

Вот что может стандартный скрипт на странице https://wiki.mozilla.org/WebAPI

К тому же дополнение нужно правильно оформлять, с использованием xml, откуда берутся данные и на нём же рисуется менюшка дополнения. Но недавно Mozilla объявила о большой переделке, так что правила написания дополнений изменятся. Собираются её упростить, некоторые пишут, что Mozilla выкенет полезные функции, но Mozilla обещает, что всё будет хорошо.

Отсутствует

 

№24229-10-2015 00:14:52

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

lolipop пишет:

К тому же дополнение нужно правильно оформлять, с использованием xml

Это, как я понимаю "МИНУС" расширений по сравнению с коддингом на чистом JS?

Отсутствует

 

№24329-10-2015 10:08:43

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 41.0

Re: Вопросы (и ответы) по разработке расширений

Доктор ТуамОсес
Это не минус, просто особенность.

Отсутствует

 

№24429-10-2015 20:12:49

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

А "плюсы"?
Они есть?

Отсутствует

 

№24529-10-2015 23:12:51

littleleshy
________
 
Группа: Members
Откуда: Москва
Зарегистрирован: 13-12-2008
Сообщений: 2504
UA: Firefox 43.0

Re: Вопросы (и ответы) по разработке расширений

Доктор ТуамОсес
Уже же ответили уже.

Отсутствует

 

№24631-10-2015 10:03:24

Доктор ТуамОсес
Участник
 
Группа: Members
Зарегистрирован: 21-04-2014
Сообщений: 198
UA: Firefox 35.0

Re: Вопросы (и ответы) по разработке расширений

А какие IDE и тулзы для разработки расширений посоветуете?

Отсутствует

 

№24722-02-2016 18:31:24

Cesius
Участник
 
Группа: Members
Зарегистрирован: 22-02-2016
Сообщений: 5
UA: Chrome 48.0

Re: Вопросы (и ответы) по разработке расширений

Привет. Я не занимался веб разработкой, только системщина и МК. Так что сильно не пинайте)) Инфы по разработке расширений как-то мало и она очень не полная. Так вот, наверно глупые вопросы, но все же. Смотрю исходники, практикуюсь, собираю пакеты и пр. Все круто! Но, имею такой код::

Выделить код

Код:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://helloworld/skin/overlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://helloworld/locale/overlay.dtd">
<overlay id="helloworld-overlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <!-- main element of overlay -->
  
  <script src="overlay.js"/>
  
  <menupopup id="menu_ToolsPopup">
    <menuitem id="helloworld-hello" label="&helloworld;"
        oncommand="alert(2);"/>
  </menupopup> 
  
  <toolbarpalette  id="BrowserToolbarPalette">
        <toolbarbutton  id="helloButton" label="&helloworld;" tooltiptext="111"
              oncommand="alert(1);"/>
  </toolbarpalette>

</overlay>

Вопрос. При каком событии выполниться это:

Выделить код

Код:

 <script src="overlay.js"/>

И где этот файл сценария должен "лежать"? У меня его вообще не было :angry: Как понимаю это обычный js скрипт?

скрытый текст
будет еще много нубовских вопросов, не баньте))) Хочу познать как создаются расширения)))

Отредактировано Cesius (22-02-2016 18:35:05)

Отсутствует

 

№24822-02-2016 19:09:47

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4284
UA: Firefox 44.0

Re: Вопросы (и ответы) по разработке расширений

Cesius
<overlay> вставит <script> внутрь <window> окна браузера (см. DOM Inspector), скрипт выполнится как в HTML, когда разбор DOM-дерева дойдет до него (то есть из скрипта будет видно только DOM выше и надо ждать события DOMContentLoaded/load).
И это обычный js скрипт, да.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№24923-02-2016 10:13:32

Cesius
Участник
 
Группа: Members
Зарегистрирован: 22-02-2016
Сообщений: 5
UA: Firefox 44.0

Re: Вопросы (и ответы) по разработке расширений

Infocatcher пишет:

Cesius
<overlay> вставит <script> внутрь <window> окна браузера (см. DOM Inspector), скрипт выполнится как в HTML, когда разбор DOM-дерева дойдет до него (то есть из скрипта будет видно только DOM выше и надо ждать события DOMContentLoaded/load).
И это обычный js скрипт, да.

Ок. Спасибо. Еще вопросы. Как запустить js-скрипт при нажатии на кнопку-иконку моего расширения? И скрипт будет выполняться только в пределах браузера (например, я смогу создать текстовый файл на диске в выбранном месте? Ну или хотя бы подготовить файл для загрузки) ?

Вообще задача моего будущего расширения такова:


  • Юзер нажимает на кнопку находясь на нужноем ему странице
  • Расширение парсит необходимую инфу
  • Далее сохраняет инфу в текстовый файл

Отсутствует

 

№25025-02-2016 22:30:47

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4284
UA: Firefox 44.0

Re: Вопросы (и ответы) по разработке расширений

Cesius пишет:

Как запустить js-скрипт при нажатии на кнопку-иконку моего расширения?

В указанном примере примерно так:
в overlay.js

Выделить код

Код:

function xxxDoSomething() { // Все глобальные переменные видны другим расширениям, нужно какое-нибудь уникальное имя
    alert(1);
}

в *.xul изменить для <toolbarbutton>

Выделить код

Код:

oncommand="xxxDoSomething();"

Cesius пишет:

И скрипт будет выполняться только в пределах браузера (например, я смогу создать текстовый файл на диске в выбранном месте?

Можно работать с файлами:
https://developer.mozilla.org/en-US/Add … s/File_I_O
https://developer.mozilla.org/en-US/doc … ain_thread

По поводу доступа к данным страниц грядет мультипроцессный режим... :sick:
https://developer.mozilla.org/en-US/Add … ss_Firefox
https://developer.mozilla.org/en-US/Fir … d_lifetime


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

Board footer

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