嵌入 X 帖子不加载 X 的脚本:把社交平台帖子做成网站上的静态卡片,处理备份、隐私与删帖
嵌入 X 帖子的另一种做法:Jason Finance 不用官方 widgets.js,改用自己存档的截图、作者、时间与原文链接做成静态卡片,帖子被删也看得到。附存档方式与版权处理。
本文目录
写《Ledger 经销商事件》时,我想在文章里放几条关键的 X 帖子:Ledger 官方、Ledger 首席技术官,还有亲手拆开设备的研究人员。我也想留一份备份,以免帖子之后被删掉或改掉。
结论是:**嵌入 X 帖子,我没有用官方的嵌入代码,改成自己存档的静态卡片。**卡片里是本站存的截图、作者、发帖时间、“在 X 看原文”链接,长帖子另附全文,必要时加上帖子的照片。整张卡片不加载 X 的脚本,原帖被删了也照样显示。
本文是 Jason Finance 的建站记录,内容是 2026 年 10 月 17 日的状态。X 的嵌入方式与隐私说明可能改变,以 X 官方文档为准。本文不是法律意见,引用他人帖子与照片前,请自行确认适用的版权规定。
官方嵌入代码的问题:每位读者都会连到 X
X 官方的嵌入方式,是在网页里加载 platform.x.com/widgets.js 这个脚本(X 开发者文档)。脚本一加载,读者的浏览器就会连到 X。按 X 自己的说明,读者看到网站上嵌入的帖子、按钮或时间线时,X 可能收到读者访问的网页、IP 地址、浏览器类型、操作系统和 Cookie 信息,这些浏览记录最多保存 30 天(X for Websites 隐私说明,2026 年 10 月 17 日查阅)。
Jason Finance 的公开页面是静态网页,原则上不放第三方脚本(架构见《Jason Finance 从零到一》)。隐私政策列出的 Cookie 只有 Google Analytics 和 Cloudflare 的安全 Cookie。为了几条帖子加上 X 的脚本,等于让所有打开这篇文章的读者都连到 X,隐私政策也得多写一家。
官方嵌入还有一个问题:帖子被删除后,嵌入的地方就没有内容了。我想保留的正是事件当时各方的说法,而这类帖子之后也可能被删改。
| X 官方嵌入代码 | 本站的静态卡片 | |
|---|---|---|
| 加载 X 的脚本 | 会(widgets.js) | 不会 |
| 读者的浏览器连到 X | 会 | 只有点击“在 X 看原文”时 |
| 原帖被删除 | 嵌入处没有内容 | 照样显示存档的截图和文字 |
| 长帖子 | 按 X 的显示方式 | 截图加上可展开的全文 |
| 文件放在哪 | X 的服务器 | 本站 |
静态卡片长什么样
每张卡片有这几样东西:
- 帖子截图:本站存档的截图,点击会在新标签页打开原帖。
- 作者与时间:作者名称、@账号、发帖时间。繁中和简中版用台湾时间,英文和西班牙文版用 UTC。
- 原文链接与存档日期:“在 X 看原文 ↗”,下面一行小字写“截图为本站 2026-10-15 存档”。
- 长帖子的全文:X 的截图遇到长帖子只显示到“Show more”,这种帖子的卡片会多一个可以展开的“帖子全文(原文)”区块。短帖子不显示这个区块。
- 可选的照片:帖子附带的照片不一定全放,文章指定哪几张才显示,点击可以看大图。
截图和照片都设置为延迟加载,滚动到附近才下载。截图的替代文字是作者加上帖子前 240 个字,看不到图片的读者和搜索引擎也读得到内容。
怎么存档:文字、照片与截图
存档分三部分,都只用公开、不需要登录的来源:
- 文字和照片:从 X 公开的嵌入数据获取帖子网址、作者、发帖时间、文字、引用的帖子和照片清单。
- 长帖子的全文:嵌入数据会截断长帖子,全文改从公开的镜像服务 FxTwitter 获取。
- 截图:用无头浏览器 Chromium 打开 X 自己的嵌入页面,拍下 X 原本的呈现方式,存成 WebP 图片文件。
Ledger 事件一共存了 20 条帖子,每条都有全文、截图,附了照片的也把照片存下来,总共 20 张照片,存档日期是 2026 年 10 月 15 日。
存档和网站分开放:只上线用到的文件
完整存档放在 repo 里一个不会发布的文件夹(docs/archive/),网站不提供这些文件,约 4.8 MB。文件夹里有一份说明,写清楚这批存档是为哪篇文章、哪一天、从哪里抓取的,以及照片的版权归原作者。
网站上只放文章实际用到的文件:6 条帖子的截图和 6 张照片,约 2 MB,数据另外整理成一份 JSON 文件。之后文章要引用其他帖子或照片,再从存档复制过去。这样做有两个好处:读者不会下载用不到的图片;还没用到的帖子和照片,也不会出现在网站上。
在文章里怎么放:一行标记,构建时换成卡片
文章是 Markdown 文件,放卡片只要写一行 HTML 标记:
<div data-x-post="帖子 ID" data-media="1,2"></div>
data-x-post 是帖子的 ID,data-media 是要显示第几张照片(从 1 开始,可以省略)。网站构建时,一个 Markdown 插件会把这行标记换成卡片的 HTML,读者拿到的是已经做好的静态网页,浏览器不用再执行任何程序。
几个防错设计:
- ID 不在数据里就构建失败,错误信息会提醒先把帖子加进数据文件,不会在网站上留下一张空卡片。
- 标记只能用在文章里,放在其他页面也会构建失败。
- 测试会检查卡片的 HTML 里没有
<script>、widgets.js或 X 的平台网址,以后有人改程序时不小心把 X 的脚本加回来,测试就会失败。 - 另一个测试确认数据文件指向的每张截图都真的存在于网站里。
卡片的文字按页面语言生成,同一行标记照抄到简中、英文、西班牙文版就能用,翻译时不用另外处理。
视频下载不了:改为链接到章节时间点
同一篇文章还引用了一个中文的 Ledger Stax 拆机视频。我原本也想存一份,但从我们运行 Claude Code 的服务器下载时,被 YouTube 拦了下来。
最后的做法是不存视频,在文章里列出几个关键段落的时间点,每个都是直接跳到那一段的 YouTube 链接,例如“07:00 背盖对比”。读者不用从头看,想核对哪一段就点哪一段。代价是视频如果被下架,这几个链接就会失效,所以文章里用文字写下了视频的重点。
版权:照片的作者与用途
存下来的照片和截图,版权都还是原作者的。本站的处理方式是:
- 只当作引用的证据:照片只出现在说明事件的段落,用来让读者知道该看设备的哪个位置,不拿来当装饰图或封面。
- 一定标出作者并链接回原帖:每张卡片都有作者名称、账号和原帖链接,照片的替代文字也写出作者。
- 只放需要的照片:一条帖子有四张照片,文章只需要一张,就只放那一张。
常见问题
嵌入 X 帖子为什么不用官方的嵌入代码?
官方嵌入代码会加载 X 的 widgets.js。按 X 的说明,读者看到嵌入的帖子时,X 可能收到读者访问的网页、IP 地址、浏览器、操作系统和 Cookie 信息。Jason Finance 的隐私政策没有列出 X,所以改用不加载 X 脚本的静态卡片。
静态卡片里有哪些内容?
本站存档的帖子截图(点击会打开原帖)、作者名称与账号、发帖时间(中文版用台湾时间)、“在 X 看原文”链接和存档日期。长帖子的截图只到“Show more”,卡片另外放可展开的全文;需要的话再放帖子附带的照片。
原帖被删掉,卡片还看得到吗?
看得到。截图、文字和照片都存在本站,卡片显示时不向 X 请求任何数据;只有“在 X 看原文”链接会失效。
帖子内容是怎么存下来的?
文字和照片从 X 公开的嵌入数据获取,长帖子的全文用公开的镜像服务 FxTwitter 补齐;截图是用无头浏览器 Chromium 打开 X 自己的嵌入页面拍下来的。Ledger 事件一共存了 20 条帖子。
存档的文件全部都放上网站吗?
没有。完整存档放在不会发布的文件夹,约 4.8 MB;网站只放文章实际用到的 6 张帖子截图和 6 张照片,约 2 MB。
引用别人的照片要注意什么?
照片的版权属于原作者。本站只在说明事件时把它当作引用的证据,卡片标出作者和账号,并链接回原帖。
延伸阅读
- 一个人用 AI 润稿多语言网站:我怎么让 Claude Code 检查 271 个文件AI 润稿实例:Jason Finance 用 Claude Code 和自定义润稿 skill 重跑 271 个四语文件,先试 5 篇再全站分 10 批,改了 178 个文件,再用脚本确认标题、链接和数字没变。
- WordPress 电商课程网站怎么搭:一个人经营 Jason Career 的 Cloudways、Flatsome 架构WordPress 电商课程网站的实际架构:Jason Career 用 Cloudways、Cloudflare、Flatsome、WooCommerce 与 LearnDash,65 个插件按用途分组,由 Claude Code 通过 SSH 运维。
- WordPress 改了却看不到:Cloudways 的 Varnish 和 WP Rocket 两层缓存WordPress 改了访客却看不到?Cloudways Varnish 和 WP Rocket 是两层缓存,只清一层不够。依官方文档整理各层怎么清、怎么从响应头判断是哪一层给的页面,附部署后检查清单。

留言
使用 Google 登录即可留言。留言“不会”使用您的 Google 头像或姓名,对外显示的昵称是系统随机生成的代号,以保护您的隐私。
登录即表示你同意本站的隐私政策。