Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2013, 12:58
Новичок на форуме
Отправить личное сообщение для atrac Посмотреть профиль Найти все сообщения от atrac
 
Регистрация: 27.11.2013
Сообщений: 4

Передача сообщения со страницы в расширение Firefox
Здравствуйте.
Не могу понять в чем проблема.
Сделал страничку которая посылает сообщение в расширение, с таким кодом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <script type="text/javascript" charset="utf-8">

        function send_request() {
            var data = {"type":"outcome.update_list"}
            var request = document.createTextNode(JSON.stringify(data));
            document.head.appendChild(request);
            var event = document.createEvent("HTMLEvents");
            event.initEvent("something-query1", true, false);
            request.dispatchEvent(event);
        }

    </script>

<body>

<p><button onclick="send_request();"> Послать </button></p>

</body>
</html>

В расширении повесил обработчик который ловит и принимает содержимое data:

var conn = false;
document.addEventListener("something-query1", function(event){chek(event.target.nodeValue)}, true, true);

function connect(){
    if (!conn){
       conn = true;
    } else {
       conn = false;
    }
}

function chek(e){
    console.log(e)
    console.log(conn);
}

Проблема в том что в расширении есть переменная conn значение которой из расширения я могу поменять, функция connect().
А когда отсылаю сообщение со страницы, вызывается функция chek(), значение conn как было false так и остается.
Хотя если вызываю chek() из расширения то conn=true.
А если chek() вызывается от сообщения то значение conn=false.

То есть когда chek() вызываю с расширения то значение conn показывает правильно, если chek() вызывается с addEventListener то значение всегда false.

В чем проблема? Почему chek() не берет правильное значение в контексте addEventListenerа?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Резиновые дивы с прокруткой Java Script Mary-Jay Элементы интерфейса 10 24.07.2013 17:51
Расширение для Firefox Bebarr Swallow Общие вопросы Javascript 5 27.04.2012 21:24
Расширение для Firefox decadent Firefox/Mozilla 1 12.05.2011 11:16
firefox зависает после обновления страницы constantant Firefox/Mozilla 4 14.09.2009 12:30
Передача значений из iframe в тело страницы z00m Общие вопросы Javascript 7 01.05.2009 17:20