标签: progressive-web-apps

在iOS中进行backgorund后,每次都会初始化PWA应用程序

我现在正在测试PWA应用程序.

在Android中,它运作良好.即使在获得背景后,PWA应用程序仍保持状态,用户可以继续体验.

但是在iOS中,每次PWA应用程序运行后,它都会被初始化,并且每个条件都会像重新加载一样被粉碎.用户体验终止.

我怎样才能在iOS中阻止这种情况?

mobile-safari ios progressive-web-apps

17
推荐指数
2
解决办法
5464
查看次数

卸载PWA进行开发测试(windows)

我通过开发人员的控制台在Windows上安装了我的PWA,现在无法卸载它以测试安装它.我已经尝试从chrome中删除服务工作者,但是在我通过Windows打开PWA之后它将被重新注册(如果服务器已打开).当我右键单击它并选择卸载它会带我到Windows应用程序和功能没有它的条目,同时它的实际快捷方式肯定只会导致带有URL中的应用程序ID的chrome.尝试在我尝试过的所有东西后安装PWA都不会再次提示我将其添加到主屏幕.

url:makpal.now.sh屏幕: 在此输入图像描述

progressive-web-apps

17
推荐指数
3
解决办法
6520
查看次数

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

我有两个子域名: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或其他什么....

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

javascript service-worker progressive-web-apps

16
推荐指数
2
解决办法
8246
查看次数

Polymer Starter Kit与Polymer App Toolbox

Polymer Starter KitPolymer App Toolbox有什么区别?

两者都是Web组件,构建和测试工具以及用于使用Polymer构建Progressive Web Apps的Material Design模板的集合.

我应该以新项目为基础的哪一个?

polymer polymer-1.0 polymer-starter-kit progressive-web-apps polymer-cli

16
推荐指数
2
解决办法
1110
查看次数

渐进式Web应用程序(PWA)可以在移动设备上运行后台服务以从硬件(加速度计,gps ...)获取数据吗?

我看到我们可以使用https://whatwebcando.today/检查移动浏览器的功能,但是当不在前台运行时是否可以查询硬件API?

我的意思是......使用PWA,我能够构建一个应用程序,在后台运行时获取硬件信息,就像Octo U,Android一样,并将这些信息发布到Web服务器上?

progressive-web-apps

16
推荐指数
2
解决办法
1万
查看次数

从外部URL打开已安装的PWA

是否有任何方法可以在iOS-Safari中安装的PWA中打开网站(PWA)网址?

使用案例:我正在发送电子邮件链接以登录我的PWA,如何使用已安装的PWA而不是浏览器直接打开此URL?

mobile-safari ios service-worker progressive-web-apps pwa

16
推荐指数
2
解决办法
7848
查看次数

Cookie 未随 Web 应用 manifest.json 请求发送

我正在尝试在需要身份验证(通过 Cookie 管理的登录令牌)的网站上启用 PWA。

我正在本地(http://localhost:4502)尝试此操作并登录(并发出登录cookie)网站。

问题是当请求 Web 应用清单时,请求中没有发送 Cookie,因此请求未通过身份验证。

<link rel="manifest" href="/content/site-x/manifest.json">
Run Code Online (Sandbox Code Playgroud)

如您所见,清单与包含它的网页使用相同的主机/方案。

对清单的请求是否传递了 cookie?我什至将我的登录 cookie 设置得尽可能宽松,但没有。cookie 是在所有其他请求(JS、CSS 等)上发送的——也许 localhost 有什么特别之处吗?或者它不是http?

javascript cookies progressive-web-apps web-app-manifest

16
推荐指数
1
解决办法
3603
查看次数

在渐进式网络应用中重定向到Google OAuth流程

我一直在使用React和Next.js开发应用程序,目前正在添加PWA支持.

用户通过Google OAuth流程登录该应用.我最初使用的是JS客户端,它使用弹出窗口,但在PWA中遇到了错误.我现在通过将用户重定向到Google的OAuth网址来使用正常的OAuth流程.

这在浏览器中工作正常.在iOS上的独立PWA中,它会在新的Safari窗口中打开OAuth页面.这意味着OAuth流程在Safari中执行,最后用户在Safari中使用应用程序而不是独立的PWA.

我正在使用这种方法重定向:

export function setHref(newLocation: string) {
  window.location.href = newLocation;
}
Run Code Online (Sandbox Code Playgroud)

这甚至看起来是每个人都建议在重定向PWA时避免弹出窗口的方法.这最近改变了吗?或者是否有另一种方法可以在独立的渐进式Web应用程序中执行重定向/ OAuth流程?

javascript oauth google-oauth progressive-web-apps

16
推荐指数
2
解决办法
3798
查看次数

Angular 7 - 服务工作者未注册

我按照" https://angular.io/guide/service-worker-getting-started "中的说法完成了我的应用程序PWA.

正是使用了这个命令:

ng add @angular/pwa

npm install http-server -g

ng build --prod

http-server -p 8080 -c-1 dist
Run Code Online (Sandbox Code Playgroud)

然后我在Chrome上打开了这个网址(隐身)

http://127.0.0.1:8080

当我为开发人员打开工具(f12)>应用程序>服务工作者时,没有可用的服务工作者,当我在那里设置离线时,网站不起作用.

有关我的角应用的其他信息:

package.json :(最重要的)

"@angular/core": "^7.0.2",
"@angular/pwa": "^0.10.6",
"@angular/service-worker": "^7.0.4",
"@angular-devkit/build-angular": "^0.10.6",
"@angular/cli": "^7.0.6",
Run Code Online (Sandbox Code Playgroud)

service-worker progressive-web-apps angular-cli angular angular7

16
推荐指数
3
解决办法
8233
查看次数

如何在最初通过 Safari 14/iOS 14 加载的 PWA 中保持登录状态?

我们的要求是让我们的用户通过 URL 登录到一个应用程序,并且在将应用程序作为 PWA 添加到他们的主屏幕后,保持登录状态,这样就不需要第二次登录到已安装的 PWA 了。这在 Android/Chrome 下当然是可能的,其中登录状态最初可以由 PWA 通过各种机制(包括 cookie、IndexedDB、缓存)存储和访问。

但是,现在在我们看来,iOS 14/iPadOS 14 下的 PWA 是紧密沙箱化的,Safari 无法将登录状态传递给它。多年来,通过各种版本的 iOS,提供了各种共享机制,但在后续版本中已过时。这些包括:

  1. 缓存,通过假端点(ref)访问
  2. 一个会话 cookie ( ref )

一种不依赖浏览器共享存储的机制是将服务器生成的令牌添加到 URL ( ref ), ( ref ) - 这里的问题是它扰乱了 Android/Chrome,它start_url在网络中使用未修改的应用清单。

多年来,这是一个引发了许多 SO 问题的问题(上面提到了其中三个),其中一些已经得到了解决方案的回答,这些解决方案显然在早期版本的 iOS 下有效。我们现在想要的是一个既能在最新版本下运行又能在 Android/Chrome 下运行的解决方案。有什么优惠吗?

safari mobile-safari ios progressive-web-apps

16
推荐指数
2
解决办法
3129
查看次数