想写个将任何网站转成可安装的 pwa 的扩展。
firefox吧
全部回复
仅看楼主
level 13
709922234 楼主
For Chrome
如果你是 web 开发,肯定知道,只需要为网站添加 manifest 和 serviceworker 就行了。
也就是说,扩展拦截网页,添加 manifest 和 serviceworker 相关代码。
web extension api 允许拦截并修改响应,https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/filterResponseData
然而 Chrome 不支持。
网上有用 chrome 的 debugger 协议来完成响应修改的方案,想想也还可以,安装扩展后的用户的操作就是点击一下按钮,让扩展使用 debugger 协议来拦截网页,然后扩展让页面自动刷新,用户应该就能看到这个 install 按钮了。
但是,!!!!!!!!!!!!!!!!
service worker Chrome 的 debugger 协议也拦截不到。。。。
2020年06月05日 00点06分 1
level 1
现在火狐是不是没有将网页安装为应用的功能啊
2020年06月05日 02点06分 3
手机火狐支持,电脑端暂时不能
2020年06月05日 05点06分
level 1
PWA 主要还是网页的功能而已,且不说每个网站都是 PWA 时系统状态栏一堆图标,如果这个网站本身就不是单页应用,比如贴吧这样的,PWA 要怎么处理 target="_blank" 和 window.open() ?
2020年06月05日 03点06分 5
当然只把合适的 webapp 装到桌面,比如 YouTube ,slack
2020年06月05日 08点06分
level 13
709922234 楼主
最终,我还是没办法在 chrome 下用扩展将 webmanifest 和 service worker 注入网页。
但是 Firefox 没有问题,其中遇到的状态码,MIME type 的问题都解决了。
也就是说这个扩展应该能在 Firefox Mobile 下很好的运行。
2020年06月05日 13点06分 6
level 14
[滑稽][滑稽][滑稽]
2020年06月05日 14点06分 7
1