pwa实现动态start_url和scope等实现方案

大家好,我的开源项目PakePlus可以将网页/Vue/React项目打包为桌面/手机应用并且小于5M只需几分钟,官网地址:pakeplus.com

要想实现动态的start_url,比如定制不同的路径或者添加参数,就可以使用这段代码,但是!!!!!这个在safari中不生效,所以如果你是ipad设备或者ios设备是不生效的,这个是坑

javascript 复制代码
const transformManifest = async () => {
    console.log('transformManifest')
    const url = '/manifest.webmanifest'
    console.log('url', url)
    const manifest = await (await fetch(url)).json()
    const path = location.pathname.split('/')
    const newPath =
        path && provideruuid && stationeuuid
            ? window.location.origin +
              '?provideruuid=' +
              provideruuid +
              '&stationeuuid=' +
              stationeuuid
            : window.location.href
    console.log('newPath', newPath)
    manifest.start_url = newPath
    manifest.scope = newPath
    manifest.id = '/'
    console.log('manifest', manifest)
    const manifestString = JSON.stringify(manifest)
    const blob = new Blob([manifestString], { type: 'application/json' })
    const manifestURL = URL.createObjectURL(blob)
    document
        .querySelector('[rel="manifest"]')
        ?.setAttribute('href', manifestURL)
    return Promise.resolve(manifestURL)
}

大家好,我是1024小神,技术群 / 私活群 / 股票群 或 交朋友 都可以私信我。 如果你觉得本文有用,一键三连 (点赞、评论、关注),就是对我最大的支持~

相关推荐
光影少年30 分钟前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴85034 分钟前
Vue 路由示例
前端·javascript·vue.js
发现一只大呆瓜1 小时前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
m0_719084112 小时前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录2 小时前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n2 小时前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n2 小时前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
狗哥哥3 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫3 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘4 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js