2015-06-24 21 views
5

Tôi muốn đăng ký/hủy đăng ký nhân viên dịch vụ để nhận Thông báo của Chrome GCM trên web thông qua iframe.Nhân viên dịch vụ từ iframe cho thông báo của Chrome GCM cho web

Tôi có một mẫu thử nghiệm hoạt động tốt trong khi mở trực tiếp trên trình duyệt và cũng từ cửa sổ bật lên javascript.

Nhưng nó cho phép bị từ chối lỗi khi tải nó từ khung nội tuyến.

Điều gì có thể xảy ra ở đây và có nguồn gốc của tôi là URL http và iframe là https. Tại sao một iframe không thể đăng ký thông báo.

+0

Tôi gặp vấn đề tương tự. Hoạt động trực tiếp nhưng không phải từ iFrame, ngay cả khi nguồn gốc là https. getSubscription() hoạt động và trả về nếu đăng ký tồn tại, nhưng không đăng ký() – lyosef

+0

Tôi đang đối mặt với cùng một vấn đề. Bạn đã nhận được bất kỳ giải pháp cho hoặc giải pháp thay thế khác cho việc này. – Yogendra

Trả lời

5

Tôi đã thực hiện một tìm kiếm dài và sau đó tôi đã biết rằng điều này là không thể nữa vì mục đích bảo mật. Bạn không thể đăng ký một nhân viên dịch vụ từ một miền không an toàn hoặc miền phụ, Ngay cả khi bạn đang sử dụng hộp cát IFRAME cho phép cùng một nguồn gốc thì giờ đây, bài đăng Chrome 43 không thể đăng ký. Kiểm tra: https://github.com/slightlyoff/ServiceWorker/issues/700 https://code.google.com/p/chromium/issues/detail?id=489670

Các vấn đề liên quan