vladmir Ну не от меня зависит... что стоит у людей под то они и просят софт делать. вот так...
Спасибо за статью http://fotoleto.ru/mozilla/xul.html, очень полезная ссылка.
Вопрос снят. Заставила себя залесть в исходники этого ужаса IE Tab.
Ничего сложного - аналогично ФФ.
Насколько я понимаю добавить тулбар в ФФ и Мозилу две большие разницы. Никто не может подсказать как мне добавить тулбар (а вообще желательно кнопку в Mozilla Suite). Нашла пример IE Tab - там добавляется кнопка, но столько всего еще делается, что не могу разобраться... Может есть какой-то пример попроще. Знаю что для ФФ есть хороший переведенный пример добавления тулбара... а для Мозилы?
Belt
Зачем так долго? Лет через 30 исчезнет понятие Операционная система ;)
А что же будет вместо нее? Или компьютер телепатически будет воспринимать наши мысли (хотя разве их чтением будет заниматься не операционка)?
Посмотри ссылку на саму технологию - http://www.http-com.com/Asp.net%20file%20manager/
Написано "all Mozilla/Firefox".
А я в отличии от 2NetFly не люблю рыться в настройках, всмысле настраивать готовый софт под себя. Могу порыться -посмотреть что есть, но более интересно что-то сделать самой. Больше времени трачу на поиск идей, чем на организацию удобства. В ИЕ установила себе тулбарчик гугла и была абсолютно довольна.
Поэтому на лису наткнулась после того, как получила срочное задание - сделать Hook для FF и Mozilla Suite. Пришлось разбираться и многие идеи мне очень понравились. А еще было замечательно то, что есть форум на котором можно задать вопросы, а главное (что редкость) получить вполне серьезные ответы, которые действительно помогут решить проблему. Поэтому сейчас перехожу ФФ....
Кстати в связи со всем этим разбирательство возникла такая проблема. В начале пыталась так:
nsIDOMElement* elem_doc; rv = doc->GetDocumentElement(&elem_doc); if (!NS_SUCCEEDED(rv)) return false; nsCOMPtr<nsIDOMNSHTMLElement> element_sc(do_QueryInterface(elem_doc, &rv)); if (!NS_SUCCEEDED(rv)) return false; int iXsc,iYsc; element_sc->GetScrollLeft(&iXsc); element_sc->GetScrollTop(&iYsc);
возвращались правильные значения, но потом клинило весь остальной код и работающая программа отказывалась выполнять любые действия. Поэтому пошла другим путем (описан в предыдущем посте).
Может ей мешало: element_sc(do_QueryInterface(elem_doc, &rv)) ?
Так и не разобаралась. Интересно - может кто-то знает в чем дело?
…Большое спасибо Mash:
- прошло.
Но у меня была еще проблема в том, что надо было получить эти координаты в компоненте. переклинило меня и не подумала, что могу сделать так:
nsCOMPtr<nsIDOMHTMLDocument> htmlDoc(do_QueryInterface(doc, &rv)); nsIDOMHTMLElement* aBody; rv = htmlDoc->GetBody(&aBody); if (!NS_SUCCEEDED(rv)) return false; nsCOMPtr<nsIDOMNSHTMLElement> element_sc(do_QueryInterface(aBody, &rv)); int iXsc,iYsc; element_sc->GetScrollLeft(&iXsc); element_sc->GetScrollTop(&iYsc);
и все получилось. А то совсем с этим скролом замучалась...
Anton ого не знала, что такое бывает с xul-элементами.
…Я всегда смотрела компоненты в http://www.xulplanet.com.
Если Вы хотите с помощью компонент работать с почтой, то, наверное, Вам сюда http://www.xulplanet.com/references/xpcomref/group_GeneralMail.html#MailComponents.
Думаю, Вы хотели написать про компоненты в Mozilla Suite... в FF же нет почтового клиента.
А случайно никто не разобрался почему window.scrollX всегда равно 0? Если пытаться его получить в своем плагине, то все нормально. А как найти положение скрола из расширения - не могу понять.
Подскажите пожалуйста, бо очень срочная работа.:cry:
Итак, немного подправила текст и добавила пример расширения, которое выводит сообщение о загрузке страницы.
Название пока решила не менять.
VipperMan
Thx за информацию :beer:
Тема актуальна :)
Полностью согласна.
У меня сегодня была такая проблема - установила какие-то расширения и Mozilla просто находилась в состоянии :"Расширение установиться после перезапуска Mozilla", "Расширение удалится после перезапуска Mozilla"... и ничего не помогало, даже перезагрузка машины (переустановка FF тоже не спасла).
Вылечила так - убила полностью FF и удалила папку Firefox, чтобы убить профиль (Application Data\Mozilla\Firefox\Profiles)...
Нужно средствами Ява-Скрипт сделать возможным сохранения/загрузку данных в/из файлов.
Я никогда такого не делала. Но подобное реализованно в расширении - autoform. Добавляется тулбар и, кажется, по нажатии на кнопку "конфиг" появляется диалоговое окно. Там, в окне, есть кнопки - "импорт", "экспорт" файл... Думаю, Вам должно это помочь...
В файле optioncontent.js - doExport(). Делают через компоненту Components.interfaces.nsIFilePicker
А... вот думала насчет названия. Хотела поменять на "Разработка приложения для работы с Mozilla", но что-то так стало жалко свое уже привычное. Но это как-то серьезней звучит.. Стоит ли менять?
e-travel
Вот-вот я уже наконец-то занялась праведным делом!
И у меня возникло несколько вопросов:
А можно как-то добавить не страничку, а Архивчик с исходниками?.. как говорится по прозьбам трудящегося HouseF
И общеобразовательный: А как добавить новую страничку? достаточно написать имя, а потом она сама создаться при нажатии на кнопку "Редактирование"... (могу конечно попробывать в песочнице, но там же одна страничка... - не знаю следует ли еще добавлять)
Дайте девушке доступ в Wiki, она это заслужила wink
Это точно, потому что я не хочу туда всё это вносить, слишком долго.
Ага, хитрые какие. Cами не хочем писать, а девушку заставляем ;).
Мое скромное имхо, для начала в Wiki такие большие статьи писать лучше не стоит.Лучше с чегото попроще начать. Поэтому я решил помочь. ВотЪ:
Aerina, ты там подправь оформление так, как тебе больше нравится.
Ай, спасибо большое!
Вот это настоящая помощь!
Aerina
Если не напишешь, ничего страшного. Главное не спеши :).Если писать, то наверно в раздел Инициативы для разработчиков. Можно назвать Разработка расширений для Mozilla. Или так как эта тема называется.
Да я тоже думала в этот раздел... но наверное "Разработка расширений для Mozilla" - не очень подойдет... (так как и компонента тоже не последнюю работу выполняет...) может лучше что-то типа "Как написать приложение взаимодействующее с Mozilla?"... ? но как-то слишком тяжело звучит. или "Разработка расширения и компоненты для обмена информацией с другими приложениями".
Короче, название наверное самый тяжелый вопрос на настоящий момент. Написать расширение было легче:cool:
e-travel Спасибочки!
Постараюсь, как можно быстрее разобраться с статьей... Уже начала читать Помощь для редактирования Wiki.
Исправлю ошибки, те что уже знаю и те, что найду. И добавлю примерчик (работающий:-)))
Aerina, есть одно замечание и одно предложение:
- файл install.js отсутствует в примере http://www.borngeek.com/firefox/tutorial/, во всяком случае в архиве http://www.borngeek.com/firefox/tutorial/gbltutorial.zip его нет.
- есть предложение добавить файл файл работающего примера, хотя бы того, который при загрузке странички выдает сообщение «Load page…». :)
Спасибо.
Да. согласна. Вообще install.js - мне нужен был для установки расширения в Mozilla Suite, а в FF - можно и без него.:) Исправлю это в статье. И когда добавлять текст в "документацию" - не забуду про пример.
Спасибо за замечание.
А где расширения обычно хранят свои настройки? Есть какое-то правило по этому поводу?
Настройки? какие настройки Вы имеете ввиду?
Если это внутрение настройки расширения - то там где пожелает производитель ("нарисует" диалоговое окно или еще как нибудь...), а так в ФФ все что мы можем сделать с расширением - это добавить его и удалить.
Но есть кажется, если я не ошибаюсь, какие-то интерфейсы предоставляющие место для хранения настроек, информации, флагов - но это уже относится к самому процессу программировани. То есть, программист может организовать какой-то интерфейс доступа к этим настройкам для пользователя.
Гм, я просто размышлял стоит ли давать права новичку. 17 постов у человека.
Сейчас права дал.
Постараюсь не подвести... подтвердить, что ли, оказанное доверие...
По одной из ссылок прочитал следующее:
XUL определяет внешний вид приложения, но оно должно еще и что-то делать. Логика приложений/расширений пишется на JavaScript (хотя на самом деле можно пользоваться не только им, но интерпретатор JavaScript является частью Gecko - ядра, и это проще всего)
Очень мнтересует вопрос, на каких языках можно писать расширения? Кроме JavaScript, естественно :)
Расширения пишутся на JavaScript, но Вы можете использовать в расширениях компоненты. По сути дела, весь код расширения может сводиться к вызову необходимых функций компонент.
А вот компонента может писаться на любом языке (я писала на С++ - потому что были хорошие примеры).
Зато написание плагинов намного в этом отношении проще- его сразу можно написать на любом языке С++, Delphi и т.д.
Можно конечно написать компоненты, расширения и все такое... но зачем???
А вообще это очень легко
вот код: (правда на делфи):
WinExec(PChar('"'+sPathToMozilla+'mozilla.exe" "'+sURL+'"'), 1);
или через
ShalleExecSignel(sPathToMozilla+'mozilla.exe',' "'+sURL+'"');
- как Вам удобнее...
sPathToMozilla - найдете в реестре HKEY_LOCAL_MACHINE\SOFTWAREMozilla\Mozilla Firefox\ ... смотрите версию - а потом открываете нужный ключ SOFTWARE\Mozilla\...\bin\ - и получаете значение PathToExe
Aerina
Может в Документацию разместить?
Это уже по Вашему усмотрению
В связи с тем, что я столкнулась с проблемами при написании необходимой мне программы, я решила написать это руководство к действиям, своего рода “памятка” – схема последовательности действий. Я не претендую на то, что я решила проблему лучшим образом и все сделала правильно.
В начале я опишу, какая задача была передо мной поставлена, как я пыталась ее решить, а потом по шагам – как мне все же это удалось.
Итак, мне необходимо было написать приложение, которое бы подключалось к Mozilla и FF и в выбранный пользователем момент выполняло определенные действия.
Представьте, у Вас есть какая-то база (приложение написанное на Delphi или С++ или вообще с помощь MFC - в дальнейшем назовем это приложение Главным), пользователь кликает мышью по какому-то полю в Mozilla и в базу заносится информация записанная в этом поле, тип поля и так далее…плюс - информация о страничке. Основная проблема! – при этом Mozilla не получает управления, то есть – управление у Главного приложения!
И следую