首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceWorker注册失败: DOMException:只允许安全来源(请参阅:ServiceWorker)

ServiceWorker注册失败: DOMException:只允许安全来源(请参阅:ServiceWorker)
EN

Stack Overflow用户
提问于 2015-12-15 13:19:04
回答 1查看 11.9K关注 0票数 3

我编写了代码来获得GCM来发送铬推送通知。我编写了下面的代码来获取GCM id。

代码语言:javascript
复制
var ChromePushManager = function (serviceWorkerPath, callback) {
    if ('serviceWorker' in navigator) {
        navigator.serviceWorker.register(serviceWorkerPath).then(function (registration) {
            // Registration was successful 
            console.log('ServiceWorker registration successful with scope: ', registration.scope);

            registration.pushManager.subscribe({userVisibleOnly: true}).then(function (subscription) {
                console.log("subscription.subscriptionId: ", subscription.subscriptionId);
                console.log("subscription.endpoint: ", subscription.endpoint);

                // TODO: Send the subscription subscription.endpoint
                // to your server and save it to send a push message
                // at a later date
                var register = ChromePushManager.getRegistrationId(subscription);
                callback(null, register);
            });
        }).catch(function (err) {
            // registration failed :(
            console.log('ServiceWorker registration failed: ', err);
        });
    } else {
        callback('Service workers aren\'t supported in this browser.', null);
    }
};

ChromePushManager.getRegistrationId = function (pushSubscription) {
    if (pushSubscription.subscriptionId) {
        return pushSubscription.subscriptionId;
    }

    var endpoint = 'https://android.googleapis.com/gcm/send/';
    parts = pushSubscription.endpoint.split(endpoint);

    if (parts.length > 1)
    {
        console.log("RegistrationId : " + parts[1]);
        return parts[1];
    }
}

var chromePushManager = new ChromePushManager('../js/service-worker.js', function (error, registrationId) {
                    if (error !== null) {
                        console.log(error);
                    }
});

它在http://localhost:8080上运行得很好。我在服务器上上传了这段代码。我试着在服务器上执行代码。我搞错了。

ServiceWorker注册失败: DOMException:只允许安全来源(请参阅:https://goo.gl/Y0ZkNV)。

我不知道这个错误说了什么。请您一次解释一下这个错误意味着什么,并给我一个解决方案,在我的服务器端解决这个错误。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-03-29 17:56:43

您需要在服务器上使用http

错误:只允许安全源(请参阅:链接)。

来自链接错误

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34290337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档