Сервисные работники из iframe для уведомлений Chrome GCM для Интернета

Я хочу подписаться/отписаться от сервисного работника, чтобы получать уведомления Chrome GCM в Интернете через iframe.

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

Но это дает ошибку отказа в разрешении при загрузке из iframe.

Что здесь может быть не так, и да, мой источник — http, а URL-адрес iframe — https. Почему iframe не может подписаться на уведомления.


person user3895143    schedule 24.06.2015    source источник
comment
У меня точно такая же проблема. Работает напрямую, но не из iFrame, даже если источником является https. getSubscription() работает и возвращает значение, если подписка существует, но не subscribe()   -  person lyosef    schedule 30.06.2015
comment
Я столкнулся с той же проблемой. Получили ли вы какое-либо решение или другое альтернативное решение для этого.   -  person Yogendra    schedule 04.08.2015


Ответы (1)


Я долго искал, а потом узнал, что это больше невозможно из соображений безопасности. Вы не можете зарегистрировать сервисного работника из незащищенного домена или поддомена. Даже если вы используете изолированную программную среду IFRAME, разрешающую то же самое происхождение, то теперь опубликуйте Chrome 43, и вы не сможете зарегистрироваться. Проверьте: https://github.com/slightlyoff/ServiceWorker/issues/700 https://code.google.com/p/chromium/issues/detail?id=489670

person Yogendra    schedule 10.08.2015