хочу подгружать в кэш нужные мне страницы. я так понимаю, что нужно использовать кэш- memory cache device. мне нужен пример работы с ним. а еще понять чем отличается один кэш от другого (memory cache device и disk cache device), когда использовать stream based и no stream baset. описание некоторых интерфейсов я нашла, но когда какую функцию/ интерфейс использовать мне пока не понятно.. Если работали с кэшем объясните мне, пож-та, принцип работы самого кэша и работы с ним. может пример какой есть?
Отредактировано Claire (09-03-2010 15:50:50)
Отсутствует
Скажите возможно ли из расширения вызывать метод из JS, который находится на конкретной странице?
Возможно. Вставьте скрипт (<srcipt>...</script>) в страницу, он сразу исполнится.
Отсутствует
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);
Отсутствует
Elexander
Спасибо.
Есть еще вопрос, как вставить в документ (cp1251) строку в utf8, полученную посредством XMLHttpRequest?
В Firefox есть какие-то средства перекодировки?
Отсутствует
Ребят, помогите найти спецификации и технические требования к компонентам расширений. Может я не там ищу, но в центре разработчика https://developer.mozilla.org/en-US/Add-ons не нашел такой инфы
Например требования к иконке (формат, размер, может ли меняться в зависимости от действия, содержать анимацию).
Какие ограничения, что плагину запрещено делать а что разрешено.
Сейчас вот надо ставить заказ дизайнеру для разработки дизайна, а я даже требования не могу сформулировать
Отсутствует
А скажите пожалуйста!
Зачем нужны так называемые "расширения"?
Почему нельзя просто писать программы JavaScript?
Мне нужно просто написать одну программку, которая будет работать с содержимым веб-страниц (искать в тексте определенные фразы и сохранять их на диск) и я в замешательстве: на чем писать?
Скажите пожалуйста: какие преимущества оформления программы именно как расширения Firefox, а не просто JS-скрипта?
Отсутствует
Зачем нужны так называемые "расширения"?
Затем , чтобы те кто ваабче_нивзубногой в программировании и в JS в частности, могли поставить расширение и заиметь полезную плюшку.
на чем писать?
CustomButtoms Готовые кнопки для Custom Buttons | Форум Mozilla Россия
Отсутствует
jars
Я не совсем точно выразился.
Я имел виду зачем писать приложения именно в формате расширения?
Почему нельзя сразу на JS?
кто ваабче_нивзубногой в программировании
Это не ко мне.
У меня в программировании большой опыт.
Просто я вебом не занимался
Отсутствует
Ну чегож нипанятна-то Расширение - это законченный "продукт". Для него не нужно доп.костылей
Почему нельзя сразу на JS?
типа GreaseMonkey и др. подобных ибо сам бравзер не желает подключать юзерскрипты, нужна_прокладка. Упаковал в *.xpi и устанавливай сразу без танцев, а ежели еще и Restartless то вообще класс. + скорей всего у расширений есть какие-то спецфичские возможности в виде API-func недоступных из userJS, тут не знаю точно. Но для задачи "поиск текста на странице и действия с ним" подойдет любой способ - расширение, GM+JS, CB
Отсутствует
jars
Вообще-то сам "бравзер" умеет подключать чистый javascript, если на странице выкладки выкладывать ещё и инструкцию как это сделать, то сработает.
https://github.com/firefoxForUser/esr38 … %82%D1%8B-
Аж 3 способа подключения скриптов без GreaseMonkey.
Отсутствует
lolipop
Ну если можно напрямую JS писать и подключать, то для чего пишутся расширения?
Может глупые вопросы задаю. Извините.
Просто я правда не врубаюсь.
В чем преимущество "расширений" перед чистыми JS-ами?
Отсутствует
Доктор ТуамОсес
На чём расширения пишутся? Разве [только] на JS?
У подключаемых скриптов не везде доступ будет. Страницы — OK, а «кишки» браузера?
Отсутствует
littleleshy
Т.е. у аддонов больше возможностей пошерудить у юзверя на харддиске и в "кишках" самого браузера?
Отсутствует
Доктор ТуамОсес
Да, у кода на javascript появляется доступ к дополнительным наборам функций, которыми можно сделать практически всё. Тогда как возможности javascript запускаемого на странице специально урезаны, чтобы ими не пользовались хакеры, и урезаны они с глубокой древности. Хотя вот сейчас с валом новых функций для стандартного javascript запускаемого на странице начали вылезать баги связанные с тем, что у скрипта много прав и хакеры этим пользуются. Но такие баги быстро исправляют.
Вот что может стандартный скрипт на странице https://wiki.mozilla.org/WebAPI
К тому же дополнение нужно правильно оформлять, с использованием xml, откуда берутся данные и на нём же рисуется менюшка дополнения. Но недавно Mozilla объявила о большой переделке, так что правила написания дополнений изменятся. Собираются её упростить, некоторые пишут, что Mozilla выкенет полезные функции, но Mozilla обещает, что всё будет хорошо.
Отсутствует
К тому же дополнение нужно правильно оформлять, с использованием xml
Это, как я понимаю "МИНУС" расширений по сравнению с коддингом на чистом JS?
Отсутствует
Доктор ТуамОсес
Это не минус, просто особенность.
Отсутствует
А "плюсы"?
Они есть?
Отсутствует
Доктор ТуамОсес
Уже же ответили уже.
Отсутствует
А какие IDE и тулзы для разработки расширений посоветуете?
Отсутствует
Привет. Я не занимался веб разработкой, только системщина и МК. Так что сильно не пинайте)) Инфы по разработке расширений как-то мало и она очень не полная. Так вот, наверно глупые вопросы, но все же. Смотрю исходники, практикуюсь, собираю пакеты и пр. Все круто! Но, имею такой код::
<?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>
Вопрос. При каком событии выполниться это:
И где этот файл сценария должен "лежать"? У меня его вообще не было Как понимаю это обычный js скрипт?
Отредактировано Cesius (22-02-2016 18:35:05)
Отсутствует
Cesius
<overlay> вставит <script> внутрь <window> окна браузера (см. DOM Inspector), скрипт выполнится как в HTML, когда разбор DOM-дерева дойдет до него (то есть из скрипта будет видно только DOM выше и надо ждать события DOMContentLoaded/load).
И это обычный js скрипт, да.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Cesius
<overlay> вставит <script> внутрь <window> окна браузера (см. DOM Inspector), скрипт выполнится как в HTML, когда разбор DOM-дерева дойдет до него (то есть из скрипта будет видно только DOM выше и надо ждать события DOMContentLoaded/load).
И это обычный js скрипт, да.
Ок. Спасибо. Еще вопросы. Как запустить js-скрипт при нажатии на кнопку-иконку моего расширения? И скрипт будет выполняться только в пределах браузера (например, я смогу создать текстовый файл на диске в выбранном месте? Ну или хотя бы подготовить файл для загрузки) ?
Вообще задача моего будущего расширения такова:
Отсутствует
Как запустить js-скрипт при нажатии на кнопку-иконку моего расширения?
В указанном примере примерно так:
в overlay.js
function xxxDoSomething() { // Все глобальные переменные видны другим расширениям, нужно какое-нибудь уникальное имя alert(1); }
в *.xul изменить для <toolbarbutton>
И скрипт будет выполняться только в пределах браузера (например, я смогу создать текстовый файл на диске в выбранном месте?
Можно работать с файлами:
https://developer.mozilla.org/en-US/Add … s/File_I_O
https://developer.mozilla.org/en-US/doc … ain_thread
По поводу доступа к данным страниц грядет мультипроцессный режим...
https://developer.mozilla.org/en-US/Add … ss_Firefox
https://developer.mozilla.org/en-US/Fir … d_lifetime
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует