当前位置: 首页 > news >正文

pwa的基本使用

  • 1.pwa的安装配置
  • 2.点击按钮安装pwa

1.pwa的安装配置

在这里插入图片描述
manifest.json

{
    "name": "名称",
    "short_name": "名称",
    "description": "",
    "start_url": "/index.html",
    "display": "standalone",
    "background_color": "#3B77F7",
    "theme_color": "#FFFFFF",
    "icons": [
        {
            "src": "/static/title.png",
            "sizes": "192x192",
            "type": "image\/png"
        }
    ]
}

注意事项
1.vue项目打包后可能需要适当修改manifest.json中路径前缀,视情况而定
2. 图片大小一定要规范,src也可以使用线上地址

htm中引入即可

<link rel="manifest" href="/public/manifest.json">

2.点击按钮安装pwa

uniapp示例

//验证是否可以安装pwa
const deferredPrompt=ref("");
 onMounted(() => {
		let systemInfo = uni.getSystemInfoSync(); //判断
		if (systemInfo.platform !== 'ios') {
			window.addEventListener('beforeinstallprompt', beforeInstallPromptListener)
		}
	})
	// 组件卸载时移除事件监听
	onBeforeUnmount(() => {
		window.removeEventListener('beforeinstallprompt', beforeInstallPromptListener)
	})

// 监听 beforeinstallprompt 事件 是否具备安装pwa条件
	const beforeInstallPromptListener = (event) => {
		// 阻止默认的安装提示
		event.preventDefault()
		// 保存事件对象
		deferredPrompt.value = event
		// 显示安装按钮
		//业务代码 ishowTips3.value = true
	}


//点击安装pwa
	function Installation() {
		console.log(deferredPrompt.value);

		if (deferredPrompt.value) {
			deferredPrompt.value.prompt()
			deferredPrompt.value.userChoice.then((choiceResult) => {
				if (choiceResult.outcome === 'accepted') {
					console.log('用户安装了 PWA')
				} else {
					console.log('用户拒绝安装 PWA')
				
					let systemInfo = uni.getSystemInfoSync(); //判断
					if (systemInfo.platform !== 'ios') {
						window.addEventListener('beforeinstallprompt', beforeInstallPromptListener)
					}
				}
				deferredPrompt.value = null
			})
		}
	}


相关文章:

  • 2W8000字 LLM架构文章阅读指北
  • pytorch2.6.0版本测试YOLOv5中detect.py错误解决办法
  • http报文的content-type参数和spring mvc传参问题
  • 高频 SQL 50 题(基础版)_550. 游戏玩法分析 IV
  • 系统架构设计师—计算机基础篇—系统性能评价
  • 深度学习pytorch之4种归一化方法(Normalization)原理公式解析和参数使用
  • 小结:BGP协议
  • AtCoder Beginner Contest 001(A - 積雪深差、B - 視程の通報、C - 風力観測、D - 感雨時刻の整理)题目翻译
  • 贪心算法+题目
  • Sqli-labs
  • 从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(八) 聊天框用户列表
  • ByteBuddy
  • 联合省选 2025 游记
  • 【随手笔记】FFT+音乐频谱(二)
  • 工程化与框架系列(8)--持续集成实践
  • OpenFlow 全解析:前世今生与未来走向
  • 【极客时间】浏览器工作原理与实践-2 宏观视角下的浏览器 (6讲) - 2.5 渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?
  • leetcode第40题组合总和Ⅱ
  • Day32 第八章 贪心算法 part05
  • leetcode第17题求电话号码组合
  • 做音乐头像网站/优化神马网站关键词排名价格
  • 启凡科技企业网站建设/google广告投放
  • 做网站可以赚钱吗/十堰seo排名公司
  • 展示系统 网站模板免费下载/聊城seo培训
  • 上海做宴会的网站/抖音seo关键词优化排名
  • 中国建设银行电话95533/新网站seo外包