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

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

Разработка » Отправка почты из под расширения » 05-08-2014 18:24:56

Есть задача отправить почту из под расширения. Пробовал использовать CDO.Message, но что-не клеится .Уже с первой строки -

Выделить код

Код:

var mailer = new ActiveXObject("CDO.Message");

расширение не работает. Подскажите, пожалуйста,может что-то другое можно использовать.

Разработка » Не срабатывает событие onchange в расширении » 05-08-2014 10:49:58

Судя по всему, вобще никакое событие не срабатывает (onclick,onmousedown,keypress). И не понятно почему таймер срабатывает

05-08-2014 11:14:28
Я пошел другим путем -

Выделить код

Код:

window.addEventListener("change",Fnc,false);

Правда пришлось прикрутить проверку , что фокус находится именно на "comp"

Разработка » Не срабатывает событие onchange в расширении » 04-08-2014 13:31:54

Почему-то в расширении не срабатывает событие onchange в таком коде, но ф-ция Fnc срабатывает через таймер. А нужно чтоб срабатывала и когда изменяется значение "comp"(input) Подскажите,пожалуйста, в чем грабли ?

Выделить код

Код:

function Fnc1(q){
  alert(q.innerHTML);    
}
function Fnc(){
 var qt=content.document.getElementById("comp"); // тип "input"
 qt.addEventListener("onchange",Fnc1(qt),false);

}
var timer = setInterval(Fnc, 10000); 
window.addEventListener("DOMContentLoaded",Fnc,false);

Разработка » Иконка расширения. » 04-01-2014 21:08:22

Та что тут скрывать.

Выделить код

Код:

content     btn    chrome/content/
content     btn    chrome/content/ contentaccessible=yes
overlay chrome://browser/content/browser.xul chrome://btn/content/button.xul

Подозреваю , что намек на манифест? Что-то типа

Выделить код

Код:

skin btn  chrome/skin/  дальше не знаю что

Разработка » Не вызывается функция на событие » 04-01-2014 12:35:28

Нужно добавить прослушивателя события, что-то типа -

Выделить код

Код:

var testbt = document.getElementById('test-button');
 testbt.addEventListener("mousedown",YourFunc, false);

Где YourFunc -Ваша ф-ция.

Разработка » Иконка расширения. » 04-01-2014 12:30:01

Здравствуйте. Решил заменить стандартную иконку на свою своего же расширения . Размер иконки 100х108 px (8-бит). Прописал в install.rdf "<em:iconURL>chrome://skin/icon.png</em:iconURL>" . Файл icon.png находится в ..\\chrome\skin\
Но почему-то в "Дополнениях" иконка не отображается (даже стандартная). Подскажите , пожалуйста, какие нюансы нужно еще учитывать.

Разработка » Обработчик события. » 19-08-2013 10:12:31

hydrolizer пишет

И да, имена ивентов - case-sensitive.

Да , спасибо, здесь собака порылась.

Разработка » Обработчик события. » 17-08-2013 10:55:53

Выделить код

Код:

pm.addEventListener("MouseDown", function(event) alert("ok"), false);

К сожалению не работает даже во время загрузки окна. Да и как мне подключить какую-нибудь внешнюю ф-ию? Например

Выделить код

Код:

function alrt()
{
 alert("ok");
}

Вот так не работает

Выделить код

Код:

pm.addEventListener("MouseDown", alrt, false);

Или нужно -

Выделить код

Код:

pm.addEventListener("MouseDown", alrt(event), false);
function alrt(e)
{
 alert("ok");
}

Разработка » Обработчик события. » 16-08-2013 13:01:21

Есть обработчик который запускает ф-цию при загрузке страницы

Выделить код

Код:

window.addEventListener("DOMContentLoaded",Gbs,false);

в свою очередь ф-ция должна обработать событие нажатия "мыши" на кнопке с id="button"

Выделить код

Код:

function Gbs(){
   var pm=content.document.getElementById("button");
  //вариант 1 
   pm.addEventListener("MouseDown",alert("ok"), false);
  //вариант 2
   pm.onMouseDown=alert('ok');
}

Оба варианта срабатывают только при загрузке страницы. Подскажите,пожалуйста что нужно изменить чтобы событие наступало во время нажатия "мыши" на кнопку.

P.S. Скрипт работает из расширения.

Разработка » Как заставить расширение срабатывать каждый раз при загрузке страницы » 13-08-2013 17:10:30

Видимо я что-то недопонял . В xul есть запись -

Выделить код

Код:

....
<script type='application/x-javascript' src="some.js" />
....

В скрипте -

Выделить код

Код:

......
function Gb(){
 alert("gut");
}
window.addEventListener("DOMContentLoaded",Gb(),false);
......

Срабатывает только один раз при загрузке раузера. При открытии нового окна ничего не происходит.

13-08-2013 17:35:49
Все разобрался - в window.addEventListener второй параметр (функция) должна быть без скобок. Тобиш так

Выделить код

Код:

......
window.addEventListener("DOMContentLoaded",Gb,false);
......

P.S. Спасибо, okkamas_knife!

Разработка » Как заставить расширение срабатывать каждый раз при загрузке страницы » 13-08-2013 16:33:46

okkamas_knife пишет

Я правильно понимаю, что нужно
addEventListener впихнуть в секцию <script>....</script> в самом XUL-е ? Или нет?

Разработка » Как заставить расширение срабатывать каждый раз при загрузке страницы » 13-08-2013 15:21:02

Подскажите, пожалуйста, как "заставить" расширение исполнять скрипт каждый раз при загрузке страницы. Сейчас он у меня прописан в XUL , но срабатывает только один раз. Я так понимаю , что нужно отслеживать с помощью расширения событие загрузки страницы, но как ?

Разработка » NodeName,NodeType xml узла дает undefined из расширения. » 07-08-2013 17:26:04

hydrolizer пишет
Выделить код

Код:

alert(dtas[0].nodeType);
  alert(dtas[0].nodeName);

имена свойств - в lowerCamelCase

Да ,действительно,. Спасибо!

Разработка » NodeName,NodeType xml узла дает undefined из расширения. » 07-08-2013 11:25:29

Пытаюсь получить тип, имя или значение узла через расширение и получаю undefined

Выделить код

Код:

xml.open("GET","http://some.url/klas.xml" , false);  
  xml.send("");  
  var dtas=xml.responseXML.documentElement.getElementsByTagName("Row");
  alert(dtas[0].NodeType);
  //  или 
  alert(dtas[0].NodeName);
  //результат undefined

Может есть какая-то закавыка ,связанная с расширениями? Подскажите пожалуйста.

Разработка » Javascript извлечение текста из тега XML-документа » 05-08-2013 13:10:30

Anton пишет

textContent, наверное

И от меня отдельное спасибо!:beer:

Разработка » Получить данные из xml на диске с помощью расширения » 02-08-2013 17:46:35

Очень странно  , что некому было сказать о том , что метод load уже не поддерживается Mozilla. Проблема осталась , потому , что с помощью XMLHttpRequest() нельзя загрузить файл с локального диска , только с сервера.

Разработка » Получить данные из xml на диске с помощью расширения » 30-07-2013 09:50:42

Infocatcher пишет

Возможно, относительные пути работают относительно документа, а не скрипта.

Нет точно относительно скрипта, но я поставил xml и в каталог документа. Результат тот же.

Разработка » Получить данные из xml на диске с помощью расширения » 29-07-2013 12:12:05

Я спросил какую-то глупость? Или действительно никто не сталкивался?

Разработка » Получить данные из xml на диске с помощью расширения » 25-07-2013 12:01:57

Не получается загрузить в Mozilla xml-файл в расширении для дальнейшей обработки.
Не из расширения грузится нормально.
Делаю так -

  if (content.document.implementation&&content.document.implementation.createDocument)
   {
    var xmldoc=content.document.implementation.createDocument("","",null);
    xmldoc.async = false;
    xmldoc.load("sear.xml");
    ........
  }

Файл sear.xml находится на диске  (не на сервере).

Подскажите, пожалуйста, что не так

Разработка » Не срабатывает getelementbyid и прочее в расширении. » 22-07-2013 10:06:22

Да действительно. Огромное спасибо. Не изучил до конца, что content делает ccылку на текущее окно.
Тема закрыта.

Разработка » Не срабатывает getelementbyid и прочее в расширении. » 19-07-2013 18:10:23

Признаюсь сразу, что в создании расширений я новичок.Изучаю, пытаюсь практически использовать. Создал простинькое расширение, которое на загруженной странице находит element с id="question-text" и должно выдать его innerHTML.
Фрагмент страницы -
.......
<DIV id='question-text'>
<p>Просто текст</p>
</DIV>
<button onclick="Gbs()">fgh</button>
</body>
</html>
........
Фрагмент скрипта -
........
function Gbs(){
var pm=document.getElementById("question-text");
if(!pm){
  alert('нету');
}
else
{alert('есть');}
}
........
Если на странице нажму кнопку все ок - 'есть'. Если нажму на кнопку созданого расширения , результат- 'нету'. Простой alert('текст') расширени выводит. Но любые варианты типа  document.body.innerHTML или elementsbyTagName('div')[0] и т.п. из расширения не работают. Подскажите пожалуйста, что мне нужно еще сделать, чтоб скрипт заработал из расширения?

Board footer

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