2015-06-24 36 views
5

Chcę subskrybować/anulować subskrypcję pracownika usługi, aby otrzymywać Powiadomienia GCM Chrome w Internecie za pośrednictwem elementu iframe.Pracownicy serwisowi z elementu iframe dla powiadomień GCM w Chrome dla sieci

Mam działający prototyp, który działa poprawnie, otwierając go bezpośrednio w przeglądarce, a także z okna okna otwieranego przez window.open javascript.

Ale daje błąd odmowy uprawnień podczas ładowania go z elementu iframe.

Co tu może być nie tak i tak, moje pochodzenie to http, a URL iframe to https. Dlaczego nie można subskrybować powiadomień za pomocą elementu iframe.

+0

Mam dokładnie ten sam problem. Działa bezpośrednio, ale nie z ramki iFrame, nawet jeśli jej pochodzenie to https. Funkcja getSubscription() działa i zwraca się, jeśli istnieje subskrypcja, ale nie subskrybuj() – lyosef

+0

Mam do czynienia z tym samym problemem. Czy otrzymałeś rozwiązanie lub inne alternatywne rozwiązanie tego problemu. – Yogendra

Odpowiedz

5

Zrobiłem długie poszukiwania, a następnie dowiedziałem się, że nie jest to już możliwe ze względów bezpieczeństwa. Nie możesz zarejestrować pracownika serwisu z domeny lub poddomeny niezabezpieczonej. Nawet jeśli używasz sandboxa IFRAME, zezwalaj na to samo źródło, a następnie opublikuj Chrome 43, nie można zarejestrować. Sprawdź: https://github.com/slightlyoff/ServiceWorker/issues/700 https://code.google.com/p/chromium/issues/detail?id=489670