【发布时间】:2021-11-12 06:43:21
【问题描述】:
如果我制作了一个渐进式 Web 应用 (PWA),我将 manifest.json 文件中的显示更改为 browser 而不是人们通常为 PWA 选择的典型 standalone 首选项,并且用户打开应用并浏览到我无法控制的第三方网站,例如 Reddit.com,此应用是否仍然具有控制功能,例如能够像 Chrome 扩展一样将 Javascript 和 CSS 添加到页面中?
【问题讨论】:
-
一般不会。网络安全背后的重点是防止这样的事情发生。将 javascript 注入 reddit.com 的能力称为 XSS,通常被认为是 reddit.com 的错误。允许扩展程序这样做是因为浏览器用户可能会意识到这一点,因为他们自己安装了扩展程序(并不总是一个有效的假设,但总比惊讶于 tinder.com 之类的东西(是的,有一个 PWA 版本的 Tinder)可以将随机 javascript 插入 reddit.com 或您的 gmail)
-
工作脚本正在运行这一事实如何? Chrome 是否通过它为 PWA 提供了特殊功能?
-
没有。 Web Worker 在普通网页和 PWA 中的工作方式相同。 Web Worker 只能由想要启动 Web Worker 的页面启动。您无法将网络工作者连接到另一个页面(这将如何工作?网络工作者无法访问 DOM,并且只能通过消息与您的主脚本通信,并且如果您想要将其注入的页面没有任何与 web worker 通信的代码 web worker 并不能真正做任何有用的事情)
标签: javascript progressive-web-apps