叶子 · 折腾记录 · 2026.05.25

昨晚十一点,我为了把一个 B 站视频塞进自己的页面,对着 iframe 的 src 改到第七版。

副标题:不是教程,是一段现场。bvid、page 参数、自动播放到底该不该开,我都会说,也会顺手吐槽两句。

<iframe src="//player.bilibili.com/player.html?bvid=BV1xx411c7mD&page=1">

最近在写的这些

8 条 · 都跟嵌入、排版、边角料有关
踩坑

BV1xx411c7mD 这个 bvid,我第一次拼错了一个字符

页面白了一片,控制台没有任何报错,我盯着屏幕啃了半块饼干。

2026-04-22 · 叶子
参数

把 page=1 改成 page=2 之后,弹幕区位置偏了 12px

细节控的自我修养:比例和 padding 谁先谁后。

2026-04-30 · 叶子
伦理

自动播放这件事,我劝你先别开

带声音的自动播放,用户会恨你,浏览器也会拦你。

2026-05-03 · 叶子
素材

日本厨房与浴室那期视频,我截了 47 张图做配图

结果页面加载慢了 1.8 秒,最后砍到 9 张。

2026-05-08 · 叶子
观察

黑寡妇俄罗斯空姐这个片名,是我今年见过最会起标题的

跟嵌入技术无关,但我想放在这儿。

2026-05-12 · 叶子
布局

4 列卡片放不下 iframe,我把它改成整行通栏

网格很香,但不是所有东西都该塞进格子里。

2026-05-17 · 叶子
备忘

allowfullscreen 不加,全屏按钮就是灰的

一个属性,换来用户少骂一句,值得。

2026-05-21 · 叶子
杂谈

永久在线看日本大片灬这类标题,我其实有点佩服

用词越怪,越容易被记住,这是朴素的传播学。

2026-05-23 · 叶子
性能

iframe 加 loading="lazy" 之后,首屏从 2.4s 掉到 1.1s

一个属性省下来的时间,够我泡一杯速溶咖啡。

2026-05-24 · 叶子
审查

我给自己定了条规矩:嵌入的视频,我至少完整看一遍

不然放上去的是什么,自己都不知道,太滑稽了。

2026-05-24 · 叶子
工具

在 1024×768 的老机器上测了三遍比例

不是怀旧,是宿舍那台二手本就是这么个分辨率。

2026-05-25 · 叶子

把 B 站视频放进 HTML:我的第七版 src

笔记本屏幕上的代码与一杯茶
凌晨的桌子。第七版 src 就是在这张桌子上敲出来的。

前一天晚上十一点零七分,我刚把晚饭的碗洗完,回到桌前打开编辑器,想把一段关于厨房收纳的 B 站视频放进新写的一个页面里。视频是 UP 主「老周不装修」在 2025 年 11 月发的那期,讲日本厨房与浴室的干湿分离,时长 18 分 42 秒,我看了两遍。我想的是,在文章里放一个能直接点开看的播放器,而不是让读者复制一串链接再跳到另一个标签页去。结果这一放,就放到了凌晨十二点四十。

第一版我写得特别敷衍,就是把 B 站给的分享代码整个粘贴进去,<iframe src="//player.bilibili.com/player.html?bvid=BV1mJ411x7hK&page=1">,宽高都没设,直接套了个 width="100%"。刷新之后,播放器确实出现了,但高度只有 150px,视频被压成了一条缝,上下两条黑边厚得像旧报纸的页眉。我当时骂了一句,然后去泡了一杯速溶咖啡——就是那种三合一,很甜。第二版我把高度写死成 500px,视频是正常了,可窗口一缩到手机尺寸,播放器就横着溢出容器,右侧被切掉一块,进度条都点不到。

第三、四、五版我在跟宽高比纠缠。我试过 height: 56.25vw,也试过用 aspect-ratio: 16 / 9 加 width: 100% 的组合。最后第六版我采用了这个写法,这里完整抄一下:外层一个 position: relative; padding-bottom: 56.25%; 的容器,内层 iframe 绝对定位铺满,border: 0,allowfullscreen 一定不能漏,loading="lazy" 顺手加上。改完那一刻,页面在 1440 宽的屏幕上看起来终于像个正经东西了。首屏加载时间从 2.4 秒降到 1.1 秒,我用秒表在手机热点下测的,前后各测了三遍。

<div style="position:relative;padding-bottom:56.25%;height:0;"> <iframe src="https://player.bilibili.com/player.html?bvid=BV1mJ411x7hK&page=1&autoplay=0" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0;" allowfullscreen loading="lazy"> </iframe> </div>

第七版改的是一个很小的东西,也是我想单独说的一件——自动播放。B 站播放器默认有一个 autoplay=1 的位置,很多人复制代码时懒得删,就那样放上去了。我一开始也留着,结果打开页面的一瞬间,声音从音箱里冲出来,我家那台旧音箱音量还停在昨晚看片时的档位,隔壁应该听得一清二楚。我把 autoplay 改成 0 之后,世界安静了。说实话,自动播放这个功能,被严重高估了。它省的是用户一次点击,赔的是用户的一次惊吓,尤其当浏览器还常常直接静音拦掉它、留下一段无声的动画时,那种荒谬感更强。宁可多一个播放按钮,也不要一上来就替别人决定要不要听声音。

顺便讲讲参数。嵌入 B 站播放器的核心是 bvid,就是那个 BV 开头的一串,page 是分 P,多 P 视频默认第一 P。如果视频是旧的 av 号,也可以换成 aid,但我现在基本只用 bvid,短、稳、复制不容易错。还有 high_quality=1、danmaku=0 这类开关,关弹幕那条我建议谨慎——我有一次为了页面干净把弹幕关了,结果一个读者在评论里问我,是不是视频出问题了,怎么那么安静。后来我又加回去了。页面是给人看的,不是给参数表看的,为了「洁癖」牺牲掉使用者的习惯,不太划算。

这中间我还顺手翻了两篇自己以前写的东西,一篇讲 日本厨房与浴室那次内容整理的过程,另一篇是今年看片杂记里提到的黑寡妇俄罗斯空姐,都属于同一个毛病:喜欢为一个细节较劲,然后写得很长。有个朋友跟我说,你写嵌入代码能写四千字,也太絮叨了吧。我承认。可我觉得,一个页面里放一个视频,看着是件小事,实际上牵扯到比例、性能、无障碍、用户习惯,还有你不该替别人做的那些决定。较劲的过程本来就值得写下来,不然下次我又得重来一遍。

说到重来,页面里的标签我也改过。原来那篇杂谈的标题我叫「永久在线看日本大片灬」,是我在一个二手论坛上看到的说法,觉得这名字够直白,就借过来用了,后来想想有点标题党,就一直挂着没动,链接还是永久在线看日本大片灬那个旧地址,懒。你们别学我。真要嵌视频,就三件事:把比例算对,把 allowfullscreen 加上,把自动播放关掉。剩下的,多测两遍手机尺寸就够了。我第七版最终是凌晨十二点四十定稿的,改完关掉编辑器之前,我又打开手机热点测了一遍首屏,1.2 秒,比用 WiFi 慢了 0.1 秒,能接受,然后我就睡了。


关于我

我叫叶子,住在城西一栋楼龄 21 年的老小区里,做前端,也写点絮絮叨叨的笔记。白天在工位上改别人的页面,晚上回家改自己的。

这个站是我 2024 年春天开始搭的,一开始只是想存点代码片段,后来慢慢变成了一个什么都往里放的地方:嵌入视频的写法、看过的片子、修过的 bug、吃过的亏。

我为什么做这个站?因为我在网上搜「html 插入 b 站视频」的时候,搜出来的东西十篇有八篇是复制粘贴的同一段代码,没人告诉你比例会崩、没人提醒你自动播放有多烦。我想写那种「一个具体的人在具体的时间里踩了具体的坑」的东西,哪怕慢一点、啰嗦一点。

如果你也在为同一件小事较劲,欢迎慢慢翻。不用着急,我这儿的文章都不长,但也不短。

“把东西嵌进网页里,跟把人请进家里一样——你得先想清楚,他要坐哪儿,要不要脱鞋,会不会一进门就开始大声说话。”
—— 出自《网页物语》,作者:林一苇,2023 年版,第 88 页