首页 > 其他分享 >为博客园加上PWA支持

为博客园加上PWA支持

时间:2023-04-06 15:59:13浏览次数:50  
标签:files head const 加上 博客园 添加 PWA document

在这篇博客文章中,我将分享如何将您的博客首页作为PWA App固定到iOS设备的主屏幕上。这样,博客将以全屏模式打开,提供更好的用户体验。

在查阅了iOS 如何添加网页到主屏幕可以全屏打开后,我了解到只需在网页的head内添加以下标签即可实现该功能:

<meta name="apple-mobile-web-app-capable" content="yes">

然而,仅添加这个标签并不能提供最佳的用户体验,因为它不会指定主屏幕图标,并且地址栏会显示为黑色。为了改进这些问题,我们需要添加更多的标签以实现:白色通知栏、指定PNG格式的主屏幕图标以及点击博文时不显示地址栏等功能。可以使用以下代码:

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="theme-color" content="#fff">
<link rel="apple-touch-icon" sizes="180x180" href="https://files.cnblogs.com/files/StarsbySea/apple-touch-icon.ico">
<link rel="manifest" href="https://files-cdn.cnblogs.com/files/StarsbySea/manifest.json">

为了实现上述需求,我借助ChatGPT生成了如下JavaScript代码:

<script>
  function addMetaTagsAndLinks() {
    // 添加适配iOS PWA模式的meta标签
    const appleWebAppMetaTag = document.createElement('meta');
    appleWebAppMetaTag.name = 'apple-mobile-web-app-capable';
    appleWebAppMetaTag.content = 'yes';
    document.head.appendChild(appleWebAppMetaTag);

    // 添加主题颜色meta标签
    const themeColorMetaTag = document.createElement('meta');
    themeColorMetaTag.name = 'theme-color';
    themeColorMetaTag.content = '#fff';
    document.head.appendChild(themeColorMetaTag);

    // 添加Apple Touch图标
    const appleTouchIconLink = document.createElement('link');
    appleTouchIconLink.rel = 'apple-touch-icon';
    appleTouchIconLink.sizes = '180x180';
    appleTouchIconLink.href = 'https://files.cnblogs.com/files/StarsbySea/apple-touch-icon.ico';
    document.head.appendChild(appleTouchIconLink);

    // 添加iPhone 14启动画面
    const iPhoneXRSplashLink = document.createElement('link');
    iPhoneXRSplashLink.href = 'https://files.cnblogs.com/files/StarsbySea/apple-splash-1170-2532.ico';
    iPhoneXRSplashLink.media = '(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)';
    iPhoneXRSplashLink.rel = 'apple-touch-startup-image';
    document.head.appendChild(iPhoneXRSplashLink);

    // 添加Manifest
    const manifestLink = document.createElement('link');
    manifestLink.rel = 'manifest';
    manifestLink.href = 'https://files-cdn.cnblogs.com/files/StarsbySea/manifest.json';
    document.head.appendChild(manifestLink);
  }

  // Call the function immediately after its definition
  (function() {
    addMetaTagsAndLinks();
  })();
</script>

将以上代码添加到博客管理后台设置中的“页首HTML代码”部分。这样,当您通过iOS的Safari浏览器将博客首页添加到主屏幕时,它将以PWA App的形式打开,这将使您的博客看起来更像一个原生应用,提升整体感观和使用体验。

参考:

  1. iOS PWA Compatibility

标签:files,head,const,加上,博客园,添加,PWA,document
From: https://www.cnblogs.com/StarsbySea/p/ios-pwa.html

相关文章

  • 博客园主题美化配置(Awescnb)
    平时比较喜欢捣鼓主题,但是没办法见一个爱一个,或者有时候就一个主题用腻了,想尝试另一个主题,此处记录下是为了切换是更快的还原当初的配置,同时可以给广大网友提供参考~当前主题为awescnb系列主题中的geek主题 Awescnb文档Awescnb作者博客配置步骤一、准备工作申请js......
  • word发布到博客园
    1word发布到博客园1.1在word中点击发布博客选项1.2点击"管理账户",添加账户1.3登录博客园,跳转到设置页面,找到url、账号、密码(访问令牌)......
  • 百度统计--给博客园添加访问统计
    全埋点、可视化圈选、API等多种方式采集数据网站、APP、小程序等各端数据一站式管理构建用户id体系,全面深度管理用户资产https://tongji.baidu.com/web/welcome/login添加网站一般20分钟后再查看是否生效。......
  • 博客园快速上传markdown文件
    需求来源个人习惯用markdown写博客然后上传到自己创建的博客和博客园这种技术交流社区。但在博客园书写博客是要我在官网的编辑器中书写文档,这其实还好,但如果我以前有很多的文章没有上传到博客园就很不爽了,需要我一点一点的上传和点击开放的设置,很不方便。这里我推荐用开源......
  • 202031607129-杨炜 实验一 软件工程准备—博客园技巧与博客首秀
    项目内容班级博客链接2023年春软件工程(2020级计算机科学与技术本次作业要求链接实验一软件工程准备我的课程学习目标注册博客园和Github账号,学习使用博客园,了解Github的基本操作。本次作业在哪些方面帮我实现学习目标按照实验内容,借助各种链接的例子,一步步......
  • 202031607221-王彦润 实验一 软件工程准备—博客园技巧与博客首秀
    1、项目和内容简介项目内容班级博客链接2023年春软件工程本次作业要求链接实验一我的课程学习目标注册博客园和Github账号,学习使用博客园,了解Github的基本操作本次作业在哪些方面帮我实现学习目标1.初步了解博客园软件和Github的基本操作;初步了解学......
  • 博客园的转载方法
    博客园的转载方法转载来源https://www.cnblogs.com/sound-of-wind-rain/p/16010586.html 1、在要转载的博客上点击右键,选择“审查元素”(F12)。2、按CTRL+F,搜索cnblogs_post_body,找到后,右键点击该DIV,选择:复制——复制outerHTML。3、打开自己的博客,新加随笔,点击“HTML......
  • 暂停在博客园发布文章,请亲爱的读者们移步同名微信公众号
     各位亲爱的读者们,从2023年3月起,本人将暂停在博客园发布新文章,请移步本人的微信公众号“世民谈云计算”。公众号文章将同步至知乎同名号和头条同名号。感谢您一直以来的关注! 扫码关注本人的微信公众号: 知乎创作中心:https://www.zhihu.com/people/sammy-1-91/posts ......
  • 发一下好看的博客园自定义主题代码
    发一下好看的博客园自定义主题代码要开通js权限,皮肤用simplememory,最好禁用模板侧边栏:<!DOCTYPEhtml><html><style>/*最外层容器样式*/.wrap{top:0;right:0;bottom:0;left:0;width:200px;height:200px;margin:auto;/......
  • echarts如何在x轴的tooltip上加上描述文字
     想要实现的效果,如下图: 实现该操作的代码如下:1tooltip:{2formatter:"month:{b0}<br>"34}实现该效果的实例图如下:   ......