App Store Extract(苹果风格)
App Store Extract 使用说明
Apple 风格的 App Store 页面信息查看、二维码与分享卡片工具。
适用范围
- 页面:
https://apps.apple.com/* - 浏览器:Chrome、Edge、Arc、Firefox、Safari
- 脚本管理器:Tampermonkey(推荐)、Violentmonkey
脚本仅在 Apple App Store 网页详情页中运行。页面右下角会出现蓝色圆形 ⌘ 按钮,点击即可打开信息卡。
安装方法
- 安装 Tampermonkey 或兼容的 Userscript 管理器。
- 打开 AppStoreExtract.user.js 文件并复制全部内容。
- 在脚本管理器中新建脚本,粘贴、保存并启用。
- 访问任意 App Store 应用详情页,刷新页面。
脚本通过
@require使用二维码生成依赖。请确保浏览器可以访问 jsDelivr;若网络阻止该域名,二维码不会生成,但信息卡的其余功能仍可使用。
主要功能
Apple 风格信息卡
信息卡采用圆角卡片、半透明毛玻璃、浅色/深色自适应与 16px 间距体系。它会展示:
- 应用图标与应用名称(自动移除名称末尾的
App) - 副标题或应用长描述
- 开发者、评分与评分人数
- 类别、版本、大小、更新日期、语言
- App 内购买状态与系统要求
为了保持阅读清晰,开发者 ID、App ID、Bundle ID、价格、货币、年龄分级和各类链接不会显示在卡片中。
描述区域
副标题/长描述位于标题下方的独立全宽区域,不会挤压图标、标题或关闭按钮。该区域支持中文与长文本自动换行。
二维码
二维码位于信息卡中部,默认编码 App Store 链接,并使用 H 级纠错。可在下拉菜单中选择:
- App Store:当前应用的商店链接。
- 自定义:手动输入任意二维码内容。
点击二维码可放大预览。二维码区域标题为“扫码查看 App Store”。
复制信息
点击“复制全部”会复制 Markdown 格式的核心信息,包括应用名称、开发者、评分、类别、版本、大小、语言、系统要求与 App 内购买状态。
分享卡片
点击“生成分享卡片”后,脚本会:
- 生成 PNG 长图。
- 自动下载 PNG。
- 尝试写入系统剪贴板(浏览器权限允许时)。
- 在页面中打开预览;点击预览可关闭。
分享卡片与信息卡保持相同的 Apple 风格:浅灰或深色背景、圆角表面、应用图标、标题、星级和双列信息表格。
其中“核心简介”是独立的全宽区域。脚本会清理多余空白,提取描述的前两句有效内容,并最多保留 180 个字符;超出部分以省略号表示。这样可以保留应用定位,同时避免商店长文案破坏排版。
数据来源与解析策略
脚本会按以下顺序合并信息,较高优先级的非空字段不会被低优先级的空字段覆盖:
- 页面 JSON-LD 结构化数据。
- 页面嵌入 JSON 数据。
- 语义化 DOM(详情列表、页面标题、链接与 Apple CDN 图标)。
- Apple 官方 iTunes Lookup API。
最后一步以当前页面 URL 中的 App ID 查询 Apple 的官方接口,用于补齐页面中未直接暴露的开发者、评分、版本、大小、类别、更新日期、图标等信息。
图标会优先从 Apple CDN 的 srcset 中获取较高分辨率版本;若不可用,再回退到 Open Graph、Twitter Card 或结构化数据中的图片地址。
主题
在卡片底部可选择:
- 浅色:始终使用浅色外观。
- 深色:始终使用深色外观。
- 自动:跟随系统
prefers-color-scheme。
主题选择会保存到脚本管理器存储中,后续访问会自动恢复。
SPA 页面支持
App Store 是单页应用。脚本监听 History API、浏览器前进/后退和 DOM 变化;应用页面切换时会自动清除旧卡片与缓存,避免显示上一个应用的信息。
权限与隐私
脚本使用的权限:
GM_getValue/GM_setValue:保存主题偏好。GM_xmlhttpRequest:向itunes.apple.com发起官方 Lookup 查询,补全应用信息。@connect itunes.apple.com:允许上述官方查询。
不会上传、保存或共享用户输入、二维码内容、剪贴板内容或浏览记录。二维码在浏览器本地生成;分享卡片也在本地 Canvas 中生成。
常见问题
信息显示为“—”
部分 App Store 地区、应用类型或页面语言可能不提供完整字段。脚本会尝试官方 Lookup 回退;若该地区接口也未提供对应数据,则会保留“—”。
App 内购买没有显示
脚本会读取页面详情中的“App 内购买”以及嵌入数据中的相关标记。部分应用未在 Apple 页面或接口中提供该字段时,无法可靠判定,因而会显示“—”。
图标未显示
请刷新页面后重新打开卡片。若公司网络、扩展程序或浏览器隐私设置阻止 Apple CDN 图片加载,脚本无法绕过该网络策略。
二维码未生成
确认网络可访问 jsDelivr,并检查脚本管理器是否允许加载 @require 依赖。刷新页面通常可重新加载依赖。
分享卡片未复制到剪贴板
下载与预览不受影响。图片剪贴板写入依赖浏览器版本、页面权限和操作系统支持;部分浏览器会仅完成下载。
更新脚本
在 Tampermonkey 编辑器中用最新版 AppStoreExtract.user.js 覆盖原脚本并保存,然后刷新 App Store 页面即可。