Реализация толкателя внутри расширения Chrome

У меня есть расширение для Chrome, которое отображает небольшое всплывающее окно, которое в основном представляет собой iframe, ссылающийся на мой сайт. Это так, что пользователь может получить доступ к выбранной информации в любое время, нажав на кнопку расширения.

У нас также есть система уведомлений, созданная с использованием pusher.com, которая отправляет уведомления, если в учетной записи пользователя происходит важное событие. У нас есть основной код толкателя следующим образом

var encoded_user_id = "jmxk5y3y"; //static user id for demo purpose
var pusher = new Pusher('222222222222222222');
var channel = pusher.subscribe(encoded_user_id);

channel.bind('notifications_count_update', function(data){
    //set the notification count in DOM
});

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

Чего мне не хватает, так это способа интегрировать приведенный выше код толкателя в расширение Chrome, чтобы новые номера уведомлений могли отображаться как «Текст значка» на кнопке расширения. И поскольку все, что делает расширение, это отображает iframe, я не могу получить доступ к информации о сеансе (идентификатор пользователя) внутри фрейма, чтобы использовать его для прослушивания сообщений.

Как я должен решить это?


person dylanfa88    schedule 18.11.2015    source источник
comment
externally_connectable + sendMessage?   -  person wOxxOm    schedule 18.11.2015
comment
Вот это да. это похоже на то, что может решить мою проблему, спасибо, я попробую сейчас...   -  person dylanfa88    schedule 18.11.2015
comment
Я взглянул на решение, и кажется, что я мог бы использовать его для отправки уведомлений в расширение, когда пользователь находится на моем веб-сайте. Однако пользователь может получать уведомления, даже если его нет на сайте. Как мне это реализовать?   -  person dylanfa88    schedule 20.11.2015


Ответы (1)


Существует расширение Pusher Product Hunt для Chrome, которое показывает уведомления в виде значков.

Взгляните на background.js. Больше подробностей.

person leggetter    schedule 18.11.2015
comment
Спасибо за ответ, у меня была возможность посмотреть на расширение, и оно предполагает подписку на глобальный канал, на который отправляется новое сообщение. Хотя это тихо похоже на то, что я искал, на самом деле это не решает мою проблему, поскольку мне нужно передавать сообщения на определенный канал, в моем случае закодированный идентификатор пользователя, чтобы только этот пользователь получал уведомление. - person dylanfa88; 20.11.2015
comment
Итак, реальный вопрос: как получить доступ к информации о сеансе с определенного веб-сайта из расширения Chrome? Затем вы используете эту информацию о сеансе в качестве имени канала Pusher? - person leggetter; 21.11.2015