问题标签 [progressive-web-apps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
8689 浏览

android - 检查网络应用程序是否已添加到 Android 的主屏幕

我有一个网络应用程序,在 Android 上我想显示一个警报,描述如何将我的应用程序添加到主屏幕。(将其添加到“书签”,然后“将其添加到主屏幕”或“添加到主页的快捷方式”)。然后打开我的应用程序的屏幕上将显示一个图标。

但是当然,我只想显示应用程序是否未添加到主屏幕。

有人知道怎么做这个吗?任何输入表示赞赏,谢谢。

0 投票
2 回答
9727 浏览

progressive-web-apps - 如何从我的页面中调用我的 ServiceWorker 上的方法?

我在我的页面上注册了一个 ServiceWorker,并希望将一些数据传递给它,以便它可以存储在 IndexedDB 中并稍后用于网络请求(它是一个访问令牌)。

仅使用网络请求并使用 fetch 在 SW 端捕获它们是正确的,还是有更聪明的方法?

给想知道与我类似的事情的未来读者注意:

在 SW 注册对象上设置属性,例如将 self.registration.foo 设置为 service worker 中的函数并在页面中执行以下操作:

结果在TypeError: reg.foo is not a function. 我认为这与 ServiceWorker 的生命周期有关,这意味着您无法修改它并期望将来可以访问这些修改,因此任何带有 SW 的接口都可能必须是 postMessage 样式,所以也许只使用 fetch 是最好的方式去......?

0 投票
2 回答
2019 浏览

android - How can you debug "add to home screen" on Chrome on android?

I am trying to add an internal web application to the homescreen of an android device for testing. This should be as a real chrome-wrapped web app with full screen, custom icon, etc.

But it doesn't work, and I see no ways of debugging/troubleshooting the problem.

The manifest is added and linked. The server is on an IP address, non-standard port and with a self-signed SSL certificate - could any if these details be the problem?

Any help on getting this to work, would be much appreciated!

0 投票
6 回答
32190 浏览

ios - 服务人员和 iOS / Safari

在 Chromium 关于服务人员的页面上,有人指出

iOS 上的 Chrome 不支持 Service Worker。

我假设它可以使用一些cordova插件交付给iOS。有没有其他方法可以在 iOS 设备上使用 Service Worker?
我担心在 iOS 上发布新版本和 Cordova 新版本之间的时间。

有谁知道 iOS 上的 Chrome 将来是否会支持服务人员?:)

0 投票
3 回答
17566 浏览

progressive-web-apps - Chrome ServiceWorker postMessage

我尝试postMessage在 Web 应用程序和相应的服务人员之间进行切换。服务工作者已成功注册并工作至今。不幸的是,我注意到一些奇怪的行为:

  1. navigator.serviceWorker.controller总是null。_
  2. 在服务人员方面,我实现postMessage如下:

不幸的是,要回发到原点的重要字段evt.origin=''evt.source=null包含所需的值。尽管如此,我总是收到发送的evt.data.

你知道怎么回帖吗?

非常感谢!
和我

0 投票
2 回答
1059 浏览

service-worker - How is the Push API's push service URL set?

The Push API defines a push service as

a system that allows application servers to send push messages to a webapp.

A subscription to the service is created via a call to serviceWorkerRegistration .pushManager.subscribe() without any parameters.

How is the URL for this push service configured? I would have expected .subscribe() to take a URL parameter for the service.

The Push API's sister spec, Generic Event Delivery Using HTTP Push, says:

push service: This resource is used to create push message subscriptions (see Section 3). A URL for the push service is configured into user agents.

But it does not specify how this configuration would take place.

0 投票
4 回答
16443 浏览

javascript - 如何从不同的子域注册服务工作者

我有两个子域:https://abc.xxxx.comhttps://xyz.xxxx.com。所以我的问题:

1)。是否可以 从https://abc.xxxx.com为https://xyz.xxxx.com注册服务人员 ?如果是,那怎么办?

2)。如果http://abc.xxxx.com ( http不安全) 那么无论如何都要从http://abc.xxxx.com为https://xyz.xxxx.com注册一个服务工作者,比如在 iframe 或其他东西中......

这是一个真实的情况,我面临着我的多个子域。任何帮助表示赞赏。提前致谢。

0 投票
0 回答
156 浏览

android - Chrome 主屏幕网络应用程序 - 在浏览器中打开新闻源链接

我最近按照 Google 的步骤制作了一个简单的主屏幕网络应用程序;当我在带有 Chrome 的 android 上选择“添加到主屏幕”选项时创建的东西。清单有助于定义图标和名称等,并且此独立应用程序中的大多数链接都保留在应用程序中……除了 /newsfeed 页面。

每当我单击任何链接以访问我网站上的 domain.com/newsfeed 页面时,它都会在 Chrome 浏览器中打开它。所有其他链接都保留在主屏幕应用程序中,包括那些在场外引导的链接。

据我所知,该页面没有什么特别之处。它没有 target=_blank 或其他链接上不存在的任何其他详细信息。我目前的猜测是,它以某种方式对其中带有“新闻源”的链接做出不同的反应,认为我在某种程度上无法处理主屏幕 web 应用程序中的动态内容。

有任何想法吗?这不是一笔大买卖,但我真的很想知道为什么那一页不会留在主屏幕网络应用程序中。

0 投票
2 回答
2010 浏览

android - Chrome 原生应用安装横幅并添加到主屏幕

我最近在我的网站上添加一个Chrome. 它运行良好,当用户满足指定条件时,会显示安装我的应用程序的横幅。

但我想要这个功能:也添加到主屏幕。基本上对于那些不想安装应用程序但他们可能对添加到主屏幕我的网站感兴趣的用户。

两种功能可以一起工作吗?

0 投票
1 回答
2292 浏览

android - 如何从 Chrome 内部触发的 Intent 将结果返回到您的网页?

所以我很高兴发现 chrome mobile 可以调用意图

但是,我可以取回结果吗?

我有一个输入供用户输入商品的条形码。

如果他们使用的是 chrome mobile,我想调用条码扫描器应用程序,并将扫描的条码接收回输入字段。

在谷歌上找不到任何相关信息。

即使是指向文档或示例的简单链接也会有很大帮助。

谢谢你。