问题标签 [pwa]
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.
reactjs - PWA 显示独立不工作
我是 PWA(渐进式 Web 应用程序)的新手,我偶然发现了以下内容:我似乎无法使用 manifest.json 文件的 display 属性。
在我的 iPhone 上将应用程序添加到我的主屏幕时,应用程序会显示在 safari 浏览器中,并显示 URL,而不是作为独立应用程序。
当(例如)我去 pokedex.org 并将其添加到我的主屏幕时,该应用程序显示为一个独立的应用程序(没有 URL 栏)。
我曾尝试使用 ngrok.io 在本地主机之外使用 https:// 托管我的应用程序,但它也无法正常工作。
我已经尝试了 safari 上的开发人员工具来重置我 iPhone 上的缓存,所以这绝对不是由缓存问题引起的。
谷歌浏览器中的应用程序选项卡说这应该是一个独立的应用程序,并且正在显示正确的徽标/网站图标。
我正在为此测试的应用程序是使用 create-react-app 构建的。
清单.json
索引.html
authentication - 使用 PWA 进行 ADFS 身份验证
我想通过ADFS2.0(OR 3.0,我认为它根本没有区别)登录我的用户但是进入范围字段,我只能插入相同DNS的子路径。如何重定向到 ADFS 并使用 PWA 取回令牌?
有什么建议么?
android - 并不总是检测到清单
我的清单工作得很好。我设法在我的桌面和移动设备上安装了我的应用程序,但出于测试目的,我删除了该应用程序,现在 Chrome 无法检测到清单。我设法通过重新启动 chrome 让他找到它,但它只在页面的第一次加载时显示。刷新后又没了。我也无法让安装应用横幅出现在我的安卓设备上。我启用了,#enable-desktop-pwas
但它不再工作了。我应该如何测试它?
wordpress - 将 Wordpress 实时站点转换为 PWA 的最佳实践是什么
将 Wordpress 实时网站转换为渐进式 Web 应用程序的最佳实践是什么,是否有足够的好插件?它是如何工作的?如果没有,最好的方法是什么?
python - Json 数据库。我想从 json 字符串中获取一个数字并将其放入数据库中。
我正在为朋友制作 PWA。数据库有用户,并且用户有与之关联的 json 字符串。我知道我可以在 html 或 js 中向数据库询问该用户的 Json,但我想知道是否可以让数据库查看该 json 字符串,并自动将其中的详细信息分配给数据库,每小时说一次.
我知道有一种更简单的方法,只需将 json 字符串放在用户下的数据库中,然后在用户登录页面并请求时解析它。只是想知道我是否可以跳过一个步骤,让数据库自动将 json 字符串更新到数据库本身。
progressive-web-apps - Angular6 ServiceWorker 不缓存所有文件
我生成了一个干净的 Angular6 项目并使用ng add @angular/pwa
我得到了这个ngsw-config.json
:
整个资产文件夹都标记为“Service Worker Caching”,但可悲的现实表明这不是真的:
我使用的 3 个图形文件 ( header-bg.jpg
, list-border-red.svg
& list-border-green.svg
) 被标记为“来自 ServiceWorker” 但是当我在智能手机上创建应用程序并断开 Internet 连接并打开应用程序时,仅header-bg.jpg
可用。但是list-border-red.svg
&list-border-green.svg
不能离线使用。
还显示了从“磁盘缓存”加载 2 个图标和从 ftp 加载一个的图形...这些文件也在资产文件夹中,为什么它们没有从 mServiceWorker 缓存?ServiceWorker 的东西是否可能在 Chrome 中被窃听?
该应用程序已经在线,可以在这里找到:https ://expense-calculator.com/如果您需要它来重现我的问题,只需打开并进行自己的测试。
apollo - Apollo 离线优先支持:Service Worker 还是 Persisted Cache?
我有一个使用 apollo 作为 grapql 客户端的反应应用程序。该应用程序现在需要对子集/子应用程序的离线支持。有一个服务工作者(感谢 workbox 和 webpack)对应用程序的资产进行预缓存并且运行良好。现在需要添加对数据的支持。该应用程序需要像在线一样在离线模式下工作。这意味着,用户应该能够看到所有数据并执行一些突变,当应用再次上线时需要同步回来。
我有以下方法作为可能的解决方案: * 使用服务工作者:添加一个按钮,触发一组查询以检索离线工作所需的所有数据。使用 service worker (workbox runtimeCaching
) 缓存这些查询的所有响应。当应用程序离线时,服务工作者将“提供”查询的响应,因此应用程序将“像在线一样”工作,服务工作者作为“代理”正常执行查询。为突变和使用设置“乐观的 ui”方法workbox
backgroundSync 以同步更改(基本上在浏览器再次联机时将突变操作发送回端点)。* 使用一些 apollo 原生方法(如 apollo-cache-persist)将查询缓存存储在 localStorage 中。触发应用程序所需的所有查询,保留该缓存,如果应用程序不在线,则在进一步加载时从缓存中重新水化应用程序。
对于离线网络应用程序来说,什么是更好、更简单的方法=
pwa - PWA - 保护用户的部分代码
我正在开发一个 PWA,它在设备离线时使用 Open SSL 公钥加密一些数据,并在设备重新在线时将其发送到服务器。
问题是,如果检查 PWA 的代码,用户可能会发现数据的确切结构。
有没有办法在 PWA 中隐藏存储在用户设备上的公钥或部分 javascript 代码?
javascript - Webpack: Injecting variables into static service-worker.js
I'm writing PWA app. I was using default Service Worker from template that I'm using (Vue.js PWA template), but now I have decided to write my own from the scratch. I have placed it (service-worker.js
) into static
folder, because I want to have static name for it - I don't want to change name each time (build).
In this particular Service Worker I want to use package name
and version
, so that I can nicely generate cache ID.
So I want to achieve something like this:
./package.json:
{
"name": "my.app",
"version": "1.0.0",
...
}
./static/service-worker.js:
var CACHE_ID = 'PACKAGE_NAME-vPACKAGE_VERSION';
...
./build/service-worker.js:
var CACHE_ID = 'my.app-v1.0.0';
The ./build/service-worker.js
shows what I want to achieve.
I have tried https://www.npmjs.com/package/string-replace-loader with below configuration:
But as I understand files placed in static
are not modules (am I right?), so those are not checked by module.rules
.
I would be greatful for help and/or guidence how I can solve this problem.
angular - 离子 PWA --prod 标志不起作用
我有一个奇怪的问题,
当我使用此命令在开发模式下构建 PWA 时:npm run ionic:build
它可以工作并构建。
但是当我使用 prod build:npm run ionic:build –prod
时,它不会构建它并停留在复制完成处。
我在下面添加了图片链接。我在谷歌上做了很多搜索,但没有找到解决方案。