gpt4 book ai didi

ruby-on-rails - 如何在 Ruby on Rails 中注册服务 worker ?

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:02 25 4
gpt4 key购买 nike

我正在尝试在 Ruby On Rails 中注册一个服务 worker 来实现推送通知 GCM。但是没有任何反应。请看下面我的代码:

if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/assets/service-worker.js')
.then(initialiseState);
} else {
window.Demo.debug.log('Service workers aren\'t supported in this browser.');

这部分工作正常。但是,当我调用 navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) 时,没有任何反应。

我在搜索引擎上搜索,没有什么可以帮助我的。

谁能帮帮我?

最佳答案

查看 serviceworker-rails gem 。

正如 Jeff 提到的,service worker 所在的路径必须“在范围内”。这个 gem 允许您将根目录(或任何其他路径)的服务 worker 请求代理到 Rails Assets 管道中的资源。

例如,如果您的 serviceworker 脚本入口点位于 Rails 项目的 app/assets/javascripts/nested/directory/serviceworker.js 中,您可以将应用程序配置为从 /serviceworker.js 一些简单的配置设置:

# config/application.rb
config.serviceworker.routes.draw do
match "/serviceworker.js" => "nested/directory/serviceworker.js"
end

关于ruby-on-rails - 如何在 Ruby on Rails 中注册服务 worker ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32878876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com