导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
热门文章
1页面
程序员老黄历&求签
热度
1235
2博文
360度带你看《超时空辉夜姬》联动KTV联动房间
热度
1213
3推文
让AI生成了一个记账网页应用。 完全按照我自己的需求定制的记账应用。当然也有一定的通用性。 支持响应式布局,所以手机也能用。 本人只贡献了需求和修改了一丢丢UI体验。 成品还是很满意的,看来AI时代,小工具根本不需要下什么APP了。 直接自己定制应用的好时代来了呀! 项目地址:https://github.com/eeg1412/wikimoeBookkeeping ※截图是测试数据,不是我发财了。
热度
325
4博文
探访日本的废校:《中二病也要谈恋爱!》圣地巡礼之杜鹃花学校(原镰挂小学)
热度
91
5博文
《爱上火车》与《铁路浪漫谭》的圣地巡礼之人吉
热度
91
6页面
追番
热度
78
7推文
给维基萌公会联盟增加了一些自动化处理。 虽然好像这游戏已经没人玩了,但还是更新了一些功能。 ·冒险家们可以直接一键升级到最高等级,直接连公会等级也自动升级了。 ·迷宫增加了自动挑战迷宫军团,一键打到最高等级的迷宫。 ·竞技场增加了自动对战,一键消耗完所有挑战次数。 ·增加了机器人玩家,会根据设定好的行动树模拟玩家操作,属于是把游戏玩成单机了。
热度
65
8博文
RPG Maker MV 插件制作入门(2)
热度
65
9推文
一个多月过去了,《超时空辉夜姬》仍然在上映。 想想一开始说一周限定上映,导致每天凌晨和数万人抢票。现在想想果然是中了饥饿营销的套路😅。 当然作品本身质量还是很棒的。只是这营销方式不是非常认可。
热度
52
10博文
《点兔》官网愚人节活动「Magical Order Rabbit」
热度
52
最新评论
广树管理员
2026-04-14 08:30
@Ringnee:大厅没有,房间内的电视如果不点播是轮播音乐的
广树管理员
2026-04-14 08:29
@MqyGalaxy:隐私方面还要提示ai做好程序保护。否则因为偷懒写出低级安全漏洞也不是没可能
广树管理员
2026-04-14 08:28
@Aki:是这样的,工具类app不再求人了
Ringnee
2026-04-14 08:27
这个联动做的好有氛围啊,现场大厅要是有放专辑里的音乐就更酷了。
MqyGalaxy
2026-04-14 04:58
让我想起来以前广告推荐的各种记账APP,有了AI以后只要有动手能力,在需要这些简单功能的工具的方面来讲是不是能更好地保护隐私了OωO
攻略中
告别回忆 双想 ~Not always true~
暂无评分
Steam告别回忆 双想 ~Not always true~
2026年3月10日 22时 ~ 攻略中
已累计游玩1个月4天
“我觅见了生命中的唯一,而后——”
亚路塔:狐狸狐途的面包冒险
暂无评分
Steam亚路塔:狐狸狐途的面包冒险
2026年2月12日 19时 ~ 攻略中
已累计游玩2个月
一场席卷全世界的面包革命现在开始! 主人公查雅阴错阳差之下,开始了在荒废的岛屿上经营面包店的生活。 出外冒险搜集食材、研发崭新面包配方、遇见性格各异的伙伴们,建造更丰富的设施,用面包香气使无人问津的广场再次热闹起来!
ToHeart
暂无评分
SteamToHeart
2025年6月26日 19时 ~ 攻略中
已累计游玩9个月21天
AQUAPLUS推出的“温暖人心的校园恋爱游戏”将以高清全3D形式焕新归来!
fault - StP - LIGHTKRAVTE
暂无评分
Steamfault - StP - LIGHTKRAVTE
2025年5月29日 20时 ~ 攻略中
已累计游玩10个月19天
全球累计销量超过50万份的“fault”系列最新作!故事的舞台是一个融合了奇幻与科幻的超前世界——卢森海德王国。本作讲述了生活在此地的一个平凡又平庸的究极普通市民——名为果子的少年的故事。
PSN奖杯卡

PSN奖杯卡

归档
赞助商广告

记录iOS 17.4.1 Safari 本地视频无法正常显示的2个问题

作者:广树时间:2024-04-05 20:16:50分类:前端代码

最近发现2个Safari比较棘手的本地视频播放的问题,目前没有特别有效的规避方法,等待苹果官方的修正可能是最优解,所以打算通过这篇博文实时记录一下进展。


以下问题都仅在iPhone和iPad中出现,mac暂时没有发现。

所有问题均写了一个demo发布在了github上: https://github.com/eeg1412/safari-video-bug

同时为了方便演示,开启了github pages : https://eeg1412.github.io/safari-video-bug/

问题一:路由切换时本地视频会中断

问题描述

总所周知现在的前端代码都是通过 window.history.pushState(null, '', url) 来实现不刷新页面来切换页面的,这就使视频在切换路由时仍然能保持播放。

但是发现17.4.1之后,在切换路由后就会导致摄像头捕捉中断。

在演示代码中可以看见点击change history按钮后,路由发生变化,视频变成了黑屏,摄像头捕捉中断。

幸运的是目前这个问题并没有殃及一般视频的播放,仅仅影响摄像头的捕捉播放。

这个问题在今年年初就有人向官方反馈,beta版有这个BUG,正式版依然没有修😅。

解决方案

这个问题我目前的解决方案是把history模式改成hash模式。


问题二:视频元素中的内容不会跟随video标签的宽高变化而变化

问题描述

这个问题是比较神奇的一个现象,因为要触发条件比较苛刻,我大致归类了以下条件会触发:

  1. 视频播放本地摄像头
  2. 父级display从blog->flex
  3. video标签附近要有个img标签
  4. 似乎和img的尺寸也有关系?有些尺寸偶发,有些尺寸很难复现,有些尺寸很容易复现

我觉得最神奇的一点是附近必须要有一张大小合适的图片😅。最近可能比较倒霉,这么苛刻的条件都能给我遇上😅。

在演示网站中的效果如下:

可以看到红色区域是video元素,虽然video的宽高变了,但是内容始终保持原来的大小。

这个问题我看了下官方的反馈列表,目前并没有人反馈这个问题,于是就向苹果官方反馈了这个问题。

截至目前,官方给我的反馈是无法复现😅。

我看了眼官方的测试案例,苹果将我的代码放到了jsfiddle上进行测试,确实就复现不出来了。

后来我发现,如果内容是在<iframe>中运行的话确实就复现不出来了,很神奇。这才又建立了github pages,让苹果的技术人员通过github pages进行测试。

因为苹果官方和我有时差,通过邮件来回基本上也只能一天沟通一次,所以后续进展如何会更新在这里,敬请期待!

如果大家有兴趣的话,也可以用苹果手机试一试。

以下是复现步骤:

  1. 在iPhone(iOS 17.4.1)上打开链接:https://eeg1412.github.io/safari-video-bug/
  2. 允许摄像头访问。
  3. 等待相机画面出现在屏幕上。
  4. 单击摄像机源以更改视频的大小。

解决方案

这个问题我目前的解决是将原先的block->flex改成block->none->flex,进行强行重新渲染。


2024年5月4日更新:

官方已经修复【视频元素中的内容不会跟随video标签的宽高变化而变化】的问题

https://github.com/WebKit/WebKit/pull/28125

donate.png


telegram banner (1).png