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

相关推荐
程序员黑豆2 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
剪刀石头布啊2 小时前
antd中可编辑表格中巧用useWatch实现联动高性能效果,以及定制延伸学习
前端
油丶酸萝卜别吃3 小时前
前端转全栈学习路线
前端·学习
浮生望3 小时前
前端路由进阶:History API原理与手写HistoryRouter
前端
陆枫Larry3 小时前
JavaScript 中的竞态是什么,为啥会有竟态?
前端
上海安当技术5 小时前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队6 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_431600447 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
kyriewen7 小时前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
IT_陈寒8 小时前
JavaScript类型转换把我坑惨了,这破玩意真该早点搞明白
前端·人工智能·后端