首页 > 其他分享 >为博客添加Live图

为博客添加Live图

时间:2024-08-15 22:17:32浏览次数:4  
标签:MD 示例 photo 图床 博客 Live 添加 Photo

为博客添加Live图

Apple提供了很生动的Live实况图,在实际展示的过程中非常生动形象,在撰写博客的过程中,我自己也尝试将博客中嵌入实况图片

其实Apple提供的iCloud网页版为我们提供了很好的示例,为了实现本文开始的效果,我们也将使用Apple官方所提供的方法

资源准备

在了解如何实现Live实况图效果的时候,我们需要了解实况图的组成

实况图本身是由一张图片和视频文件组成,我建议你从iCloud官网或者使用数据线导出:

iCould下载

数据线导出

同时可以看到存在 JPGPNGHEIC等多种图片文件和 MOV等视频文件,官方对图片文件没有具体要求,不过有博主推荐都转换成 JPG文件,可以都尝试一下

上传图床

我平时写MD喜欢使用图床,我建议你将图片和视频都上传图床,从而分别获得图片和视频图床链接

MD插入

MD文档的插入分为两部分:

  • <script>标签的插入
  • 嵌入网页的插入
    在这其中,请将 data-photo-srcdata-video-src替换成你上传图床的图片和视频链接
<div style="width: 80%; max-width: 640px; aspect-ratio: 1; margin: auto;"
     data-live-photo
     data-photo-src="https://..."
     data-video-src="https://...">
</div>
<script src="https://cdn.apple-livephotoskit.com/lpk/1/livephotoskit.js"></script>

当然如果你在博客内可以设置代码注入,可以将 <script>代码插入到文章页当中去,那么可以不要在MD文档中插入

以下是一个MD文档示例:

### Live Photo 示例

以下是一个 Live Photo 的嵌入示例:

<div style="width: 80%; max-width: 640px; aspect-ratio: 1; margin: auto;"
     data-live-photo
     data-photo-src="https://..."
     data-video-src="https://...">
</div>

<script src="https://cdn.apple-livephotoskit.com/lpk/1/livephotoskit.js"></script>

踩过的坑

  1. 图床跨域访问
    如果你是自建图床,请务必开启跨域访问,而且如果你的图床使用了CDN回源,请务必配置CDN的跨域访问,这个问题困扰了我很久,如果你按照上述配置出现以下情形:

    建议按住 F12进入浏览器控制台,看看是不是出现报错,如果出现这种 blocked by CORS基本上就是跨域访问没跑了
  2. 浏览器支持
    Apple提供的方案并不支持所有的浏览器,有些浏览器可能不能完全兼容,建议使用Chrome浏览器进行调试,并且停用缓存
  3. <iframe>标签实现
    有老哥通过<iframe>标签实现了一样的效果,以下是我通过GPT写的一个demo,未尝试过:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Live Photo</title>
    <script src="https://cdn.apple-livephotoskit.com/lpk/1/livephotoskit.js"></script>
    <style>
        .live-photo-container {
            width: 100%;
            height: 100%;
            aspect-ratio: 1;
        }
    </style>
</head>
<body>
    <div id="live-photo" class="live-photo-container" data-live-photo></div>

    <script>
        // 获取 URL 参数
        const urlParams = new URLSearchParams(window.location.search);
        const photoSrc = urlParams.get('photo');
        const videoSrc = urlParams.get('video');

        // 动态设置图片和视频链接
        const livePhotoElement = document.getElementById('live-photo');
        livePhotoElement.setAttribute('data-photo-src', photoSrc);
        livePhotoElement.setAttribute('data-video-src', videoSrc);
    </script>
</body>
</html>
### Live Photo 示例

以下是一个通过 `<iframe>` 嵌入的 Live Photo 示例:

<iframe src="live-photo-iframe.html?photo=https://...&video=https://..." 
        width="320" 
        height="320" 
        frameborder="0" 
        allowfullscreen>
</iframe>

这样的好处是我们不必在每次写作后维护这么多的html标签,你需要将第一个文件上传到网站的某个目录下,然后在标签中调用

参考文章:LivePhotosKit JS

如果你对这类文章感兴趣,欢迎访问小树 | 在博客中添加Live图

标签:MD,示例,photo,图床,博客,Live,添加,Photo
From: https://www.cnblogs.com/juniortree/p/18361892

相关文章

  • github 博客
    https://chirpy.cotes.page/posts/getting-started/#option-2-github-forksudoapt-getinstallruby-fullbuild-essentialzlib1g-devecho'#InstallRubyGemsto~/gems'>>~/.zshrcecho'exportGEM_HOME="\(HOME/gems"'>......
  • 如何为微信小程序添加地图和位置服务
    为微信小程序添加地图和位置服务可以通过使用微信提供的地图组件和位置API实现。以下是详细步骤和示例代码:创建一个新的微信小程序项目:使用微信开发者工具创建一个新的微信小程序项目。在创建项目时,可以选择"位置"和"地图"权限,以便后续使用位置和地图服务。在小程序......
  • 博客建站6 - 一文搞懂域名解析(保姆级教程和原理讲解)
    1.本网站的系统架构2.(阿里云)域名解析配置2.1.快速配置2.2.自定义配置2.2.1.记录类型2.2.2.主机记录2.2.3.记录值2.2.4.解析请求来源3.域名解析原理3.1.什么是DNS3.2.DNS的解析原理3.2.1.1.本地查询3.2.2.2.客户机到服务器查询3.2.3.3.服务......
  • 爆改YOLOv8 | yolov8添加CBAM注意力机制
    1,.本文介绍CBAM的主要思想是通过关注重要的特征并抑制不必要的特征来增强网络的表示能力。模块首先应用通道注意力,关注"重要的"特征,然后应用空间注意力,关注这些特征的"重要位置"。通过这种方式,CBAM有效地帮助网络聚焦于图像中的关键信息,提高了特征的表示力度.以下为CBAM结构......
  • MySql添加用户权限问题
    MySql添加用户权限问题要为MySQL中的test用户授予所有权限,可以按照以下步骤进行:1.连接到MySQL数据库服务器mysql-uroot-p2.授予root用户所有权限grantallon*.*to'test'@'%'identifiedby'yourpassword'withgrantoption;请注意,上述命令中的lo......
  • 为您的网站或博客添加AI:智能优化提升用户体验
    前提一个网站或者一个博客可以下载插件安装插件插件部署创建工具把插件安装到WordPress并启用。填写回调密钥,回调密钥是随便写的,主要用于认证。到LeaflowAmber中点击左侧菜单中的登录来登录LeaflowUserLand账户。登录后点击左侧 工具,然后 新建一个工具,工具名称你可......
  • apisix-dashboard上添加自定义插件
    参考:https://overstarry.vip/posts/apisix如何添加自定义插件/首先,我们需要向自定义的插件user-remote-auth添加到apisix中,对这块不清楚的同学,可以参考我这篇文章:【apisix~lua插件开发与插件注册】,添加成功之后,通过curlhttp://apisix-admin.apisix:9180/apisix/admin/plugins/us......
  • Binance 如何使用 Quickwit 构建 100PB 日志服务(Quickwit 博客)
    三年前,我们开源了Quickwit,一个面向大规模数据集的分布式搜索引擎。我们的目标很宏大:创建一种全新的全文搜索引擎,其成本效率比Elasticsearch高十倍,配置和管理显著更简单,并且能够扩展到PB级别的数据。https://quickwit.io/blog/quickwit-first-release虽然我们知道Quickw......
  • 全网最详细且最容易理解的高可用集群KEEPALIVED
    一:高可用集群1.1集群类型LB:LoadBalance负载均衡LVS/HAProxy/nginx(http/upstream,stream/upstream)HA:HighAvailability高可用集群数据库、RedisSPoF:SinglePointofFailure,解决单点故障HPC:HighPerformanceComputing高性能集群1.2系统可用性SLA:Servic......
  • 如何使用Typora写出自己的第一个博客
    markdown的使用说明一、标题语法:#这是一级标题##这是二级标题......代码:#这是一级标题##这是二级标题快捷键:Ctrl+数字:数字1-6可以快速将选中的文本调成对应级别的文本Ctrl+0:调成普通文本Ctrl+加号或者减号:对标题级别进行加减二、段落1、换行代码:1这......