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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

Разработка » Из HTML получить доступ к Хром элементам » 19-07-2010 04:41:14

okkamas_knife:
хм, интересно:
1) Надоело уже рыскать чужие расширения =)
2) Под абсолютным путём имеешь ввиду путь на жестком диске? Я думаю кроссплатформенно это осуществить - довольно не тривиально.
3) Вот это интересно. Я так понимаю, что квадратная пнгшка в 48 пикселя не сильно длинно закодируется.

Разработка » Из HTML получить доступ к Хром элементам » 16-07-2010 19:51:45

Ух.. просто рисую html прямо из расширения к которому и обращаюсь... это безопасно...

Но ясно. т.е. получается, выход только хостить эти иконочки?

Разработка » Из HTML получить доступ к Хром элементам » 16-07-2010 17:30:09

Расширение рисует HTML формочку на экране.. с картинками, картинки берутся из расширения (из chrome://extension_name/content/pics/). Если я просто введу ссылку на изображение, то оно откроется, но в HTML виде, как <img src="..."> оно не открывается.
Даже если просто создать test.html в котором будет одна строка с <img src="chrome://.."> то оно почему-то не открывается.

Как так?

Разработка » Чистый Обход DOM vs XPath » 27-04-2010 04:17:56

С расширениях добираюсь до элементов, которые не имеют определенного идентификатора. Приходится к ним подбираться через DOM. В FireBug есть отличная опция, которая показывает XPath путь к элементу.


Подскажите плз, что быстрее - обращаться через методы DOM к элементу, или через XPath путь (кроссбраузерность конечно не волнует, выполняется из-под оболочки Firefox (неудобно её теперь называть Хромом, а то подумает на другой браузер).



Конкретный пример сейчас привести не могу, исходники далеко находятся, но примерно это выглядит так:
вариант 1-ый:
document.body.firstChild.children[3].lastChild

или же XPath:
/html/body/div/div[3]/form/div/div/input  (пример не равен первому, просто скопипастил любой элемент через fireBug)

Разработка » Выполнить действия в фрейме контента » 27-04-2010 04:12:21

консоль ошибок ничего не говорит.

Ошибку я понял сам. Оно наверное даже выполнялось верно. Суть в чём, страница загрузилась, фрейм вероятно тоже успел загрузится. Как страница загрузилась, она привязала "алерт" на загрузку фрейма, но он тоже уже загружен - понятно почему ничего не происходит...


Я просто это убрал, надеюсь на то, что фрейм будет всегда загружаться когда и вся страница загружалась. Это не совсем хорошо, в 1 раз из где-то 50 у меня выскакивает ошибка в консоле (что не могу достучаться до элемента во фрейме)... не приятно, но пока терплю

Разработка » Выполнить действия в фрейме контента » 15-04-2010 00:07:15

Скрипт висит в оверлее, и на определенном сайте должен добавить элемент в определенный фрейм.

у меня есть listeners.js, в котором говорится, что когда откроется mysite.ru, то нужно что-то делать:

Выделить код

Код:

// LISTENERS

window. addEventListener ("DOMContentLoaded", onloadTrap, true);

function onloadTrap (event)

{

    if (event. originalTarget. nodeName == "#document") 

    {                

        if (event.originalTarget.location.href.indexOf("mysite.ru") != -1)  

        {
    // мы на сайте
        window.setTimeout("main.weAreOnSite();", 1);

      } 
   }

}

тоже самое там есть для смены вкладок. но это не важно.

в другом файле у меня есть:

Выделить код

Код:

main = {
//...
,
weAreOnSite : function() {
 //...
  window. _content. frames[0]. addEventListener("load", function() {
       alert("frame loaded");
   }, true );
 //..
}

и почему-то ничего не происходит.

Если я сразу обращаю к элементам во фрейме, то иногда может их не видеть - это я понимаю, что скрипт выполнился

Поддержка пользователей » Проблема с профилями. Включать два профиля одновременно/независимо » 18-03-2010 15:18:48

Крошка Ру
Пост №19 прочитал.. там всё равно проблема открытых ссылок из мессенджера и т.д. - не описывается. Но я там нашел ещё одну ссылку, на программку упрощенную, в которой можно выбрать вход (firefox launcher), что-то типа этого.

почему нельзя запускать --no-remote -P default? - я на каком-то мозилловском вики-сайте это прочитал (под лейблочкой Important!). Если делать так, то будут вылазить ошибки типа "Firefox уже запущен... трали-вали...." =)

Думаю сделать один ярлык и в нём просто указать -P... а там уже выбирать нужный профиль - самое простое. А ссылки из мессенджеров и почтовых клиентов будут открываться выходит по умолчанию из дефолтного профиля.

Поддержка пользователей » Проблема с профилями. Включать два профиля одновременно/независимо » 18-03-2010 11:09:33

Крошка Ру
[chrome] - это я для обычного сёрфинга, и чтения новостей использую хром. А вообще [firefox] использую.

Вопрос мне нужно решить для [windows]-пользователей.
там по ссылке сказано использовать -no-remote. Но ведь нельзя запускать -no-remote дефолтный профиль? и тогда непонятно как откроются линки из мессенджеров и т.д.

Поддержка пользователей » Проблема с профилями. Включать два профиля одновременно/независимо » 18-03-2010 01:45:31

У Firefox есть 2 профиля - обычный и рабочий (default и work).

Мне нужно, чтобы на рабочем столе было 2 ярлычка Firefox'а - один с обычным профилем, другой - с рабочим. Так, чтобы я могу нажать на нужный, и открылся нужный профиль.

Если я просто открываю firefox (где-то другую иконку нашел допустим), без параметров, то должен открыться дефолтный.
Если же я просто открываю .html файл или кликаю по ссылке из мессенджера, то должен открыться дефолтный.

Как это сделать?
я узнал, что нельзя создавать 2 ярлыка такого вида:
firefox -P default --no-remote
firefox -P work --no-remote

потому что будут проблемы с открытием firefox без парамтеров (ссылки из мессенджеров и т.д.) (Хотя я щас типа этого сделал у себя на компе в Убунту, и вторым открыл work-профиль. Теперь когда открываю firefox без параметров, открывается work профиль, а надо default).

Узнал, что default надо запускать без --no-remote, но если первым запустили work, то как мне запустить дефолт отдельтным потоком?

Разработка » При открытии новой вкладки открывать начальную страницу? » 18-03-2010 01:40:36

Подскажите плз, можно ли в about:config найти такую настройку, которая показывает что загружать в новой вкладке?

Т.е. вот есть кнопка ("новая вкладка") я её нажимаю и открывается about:blank. А надо чтоб открывалась там домашняя страница.

Разработка » Как сделать свою about:page ? » 11-02-2010 17:18:40

при попытке открыть about:stuffA пишет:
The URL is not valid and cannot be loaded.

Разработка » Как сделать свою about:page ? » 07-02-2010 18:01:27

Не получается изменить код, чтоб 2-3 таких странички сделать...

Разработка » Как сделать свою about:page ? » 07-02-2010 00:01:24

Infocatcher
Спасибо, ясно.
Anton
Cпасибо

>> про адрес понятно. заметил.
А UUID можно новый, или тот же, что и в моём расширении?

Разработка » Как сделать свою about:page ? » 06-02-2010 19:23:50

странно..я просто увидел в примере 2 функции... и думал их надо вызвать... как-бы инициализирвоать эту about:mystuff

Разработка » Как сделать свою about:page ? » 06-02-2010 18:00:08

Anton
Не подскажите, как этот пример внедрить? там просто сами функции? А где и как их надо вызвать?

Разработка » Как сделать свою about:page ? » 05-02-2010 21:37:48

У меня такой вопрос... Делаю расширения для работы.. для узкого круга людей.. И там есть у нас пару документов, которые должны быть под рукой... Доступа к хостингу у меня нет, и выкладывать на сервер рабочий я не могу... было бы очень удобно, если бы я где-то в расширении сохранил эти документы. и они был открывались по ссылке из расширения с таким красивым заголовком как допустим: about:reference и т.д.


заранее спасибо.

Разработка » Не получается вытянуть значение из JSON структуры на кириллице » 05-02-2010 08:45:44

Проблема решена.
вводить значение искомое через переменную и в виде \uXXXX....

Разработка » Не получается вытянуть значение из JSON структуры на кириллице » 05-02-2010 05:30:47

есть файл data.js

Выделить код

Код:

var myJSONObject = {"places": [

{"placename" : "тест","city" : "МОСКВА","adress" : "..."},

{"placename" : "test","city" : "РЯЗАНЬ","adress" : "..."},

{"placename" : "неважно","city" : "ОДЕССА","adress" : "..."},

...

{"placename" : "...","city" : "...","adress" : "..."}

]
};

и есть такой файл:

Выделить код

Код:

<html>
<head>
<script type='text/javascript' src='data.js' charset='utf-8'></script>
<script type='text/javascript'>
<!--
// ТАКОЕ НЕ РАБОТАЕТ!
for (var i=0; i<2; i++) {
 if (myJSONObject.places[i].placename == 'тест') {
alert(myJSONObject.places[i].city) } 
}

// А ТАКОЕ РАБОТАЕТ:
for (var i=0; i<2; i++) {
 if (myJSONObject.places[i].placename == 'test') {
alert(myJSONObject.places[i].city) } 
}
//-->
</script>
</head>
<body>
test
</body>
</html>

Как это исправить?

Разработка » Как нарисовать окно с текстом над выделеным текстом? » 04-02-2010 02:51:07

Текст выделяется пользователем мышью? Если да, то тогда лови координаты мыши и рисуй абсолютный див с каким хочешь стилем. (Див как бы встраивается в саму страничку контента). Делается это через JavaScript + работа с DOM.

А если текст выделен пользователем клавиатурой, или вообще каким-то другим способом... То если я не ошибаюсь, ты можешь сделать так: координаты тебе не нужны. Просто  допустим обрамляешь выделенный текст в DIV (через JavaScript), и сразу за ним добавляешь свой новый желтый DIV... и вот дальше (в этом я уже не уверен как), с помощью CSS заставляешь этот новый див отображается не "за объектом" - смещая всё далее, а над объектом.

Удачи.

Разработка » Расширение должно делать скриншот экрана. » 04-02-2010 02:40:34

Мне под винду.
Как работать с внедрением .dll-ок я не представляю, предстоит почитать. Ладно.

2 okkamas_knife
Последняя идея не плохая. А Яваскрипт может послать комманду нажатия кнопки Принтскрин? Тогда всё облегчается.. Яваскрипт посылает нажатие принтскрина, а потом считывает картинку из клипбоарда... А ещё... получится такое, если допустим FF не активное окно на данный момент? Можно ли сделать "глобальные шорткаты" в ФФ расширениях?  (мне чисто для себя это, не для общего пользования, так что кросс-платформенность не страшит)

Board footer

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