代码之家  ›  专栏  ›  技术社区  ›  keesp

Web推送API:在移植到服务器时,如何最好地呈现所需的javascript文件?

  •  1
  • keesp  · 技术社区  · 7 年前

    我一直在研究 PUSH API 并按预期注册服务人员。大致上我遵循 Mozilla recipes 为了这个。

    一般来说,您将创建两个javascript文件:一个用于您要注册的服务工作者,另一个用于执行实际的注册-让我们调用这个index.js-,在我的例子中,它包含一个registerWorker()函数。我包含一个html文件(比如push.html),它在加载时调用这个函数,这样调用这个html文件的浏览器将注册服务工作者。到目前为止,这一切在开发环境中运行良好。

    当我想把它移植到我的服务器时,问题就开始了。如果我将服务工作者和index.js移植到我的服务器(例如Apache 2服务器),我会突然收到一条消息,告诉我服务工作者不在导航器中。我一直在尝试不同的策略,但至今没有成功。

    因此,我的问题是:为了实现上述目的,在服务器上放置所需的javascript文件的最佳方法是什么?

    编辑:

    我将在下面添加push.html文件:

    <!doctype html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>Simple Push Notification - ServiceWorker Cookbook</title>
      <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    <body onload="registerServiceWorker(12)">
    <script src="./js/index.js"></script>
    </body>
    </html>

    据我所见,唯一的区别是我从开发环境中的localhost调用这个文件,从服务器调用http://{myserver}:{myport}/。我不希望有任何不同的行为,除非它可能与SSL要求或CORS过滤器有关。。。

    编辑2:

    好吧..根据这篇文章,我找到了最可能的原因: Can't find serviceWorker in navigator anymore

    0 回复  |  直到 7 年前
    推荐文章