导航菜单

How Fugu is the Web? LOGO 图标

How Fugu is the Web?

1.23.0
2025-10-24
0
0

插件介绍

一个扩展,用于照亮 Project Fugu 🐡 API Web 应用程序想要使用的功能。

它是如何运作的

API数据

不同 Project Fugu 🐡 API 的原始数据在电子表格中整理,然后转换为 JavaScript,因此保持 API 列表更新有望成为一项简单的任务。

API检测

该扩展程序通过 chrome.webRequest.onBeforeRequest.addListener() API 监视页面发出的请求。每个响应主体按主框架、JavaScript 和 Web 应用程序清单响应主体分组,然后通过一组正则表达式(如 /navigator\.hid\.requestDevice\s*\(/g)运行,以确定代码是否暗示可能正在使用的 Project Fugu 🐡 API。

浏览器支持检测

大多数 Fugu 项目 API 都可以通过检查接口或属性是否存在来轻松进行功能检测,例如 window 中的“BarcodeDetector”。其他 API 需要 ServiceWorkerRegistration,但幸运的是 Manifest V3 扩展中的弹出窗口使用 Service Worker,因此可以通过可在客户端或 Service Worker 中运行的 IIFE 使用它。一个例子是 (async () => 'periodicSync' in (await navigator.serviceWorker?.ready || self.registration))()。

支持类别如下:

✔️ 您的浏览器支持。
🚫 您的浏览器不支持。
🤷 您的浏览器支持未知。 (唯一了解的方法是用户代理嗅探。)

深层链接

该扩展利用文本片段 URL 深度链接到检测到的 API,例如 https://airhorner.com/scripts/main.min.js#:~:text=navigator.setAppBadge(。对于主框架文档,源代码将呈现在由扩展控制的帮助程序 HTML 页面中,因为不可能链接到 view-source: 协议 链接。

局限性

• 遗憾的是,chrome.webRequest.onBeforeRequest.addListener() API 无法“查看”由服务工作线程处理的请求(crbug.com/766433)。对此有三种可能的解决方法:
- 通过 ⌘/ctrl+shift+r 硬重新加载。
- 打开 DevTools 并选中“应用程序”选项卡的“Service Worker”部分中的“绕过网络”复选框。
- 清除“应用程序”选项卡的“存储”部分中的存储。
• 该扩展仅进行静态代码分析,即不能保证应用程序实际使用检测到 Project Fugu 🐡 API 的代码片段。
• 不会检测到高度精简的代码。例如,如果应用程序将 navigator.clipboard.write() 缩小为 const nav = navigator; nav.clipboard.write(),扩展程序不会检测到这一点。

执照

阿帕奇2.0。


插件详情

评分
0星(共5星),共无评分位用户参与评分
使用人数
42+ 位用户
版本
1.23.0
文件大小
127KB
提供方
支持语言
英语
ID
apcghpabklkjjgpfoplnglnjghonjhdl
发布时间
2024-01-11 05:30:12
1 / 5