@capgo/capor-webview-守护者
当操作系统在背景中杀死了它的 WebView 时, 将您的 Capacitor app 带回生命: Webview Guardian 在前景上检查渲染器并自动重新装入.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-webview-guardian在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-webview-guardian到我的Capacitor应用上并把它接上" 代理设置指南 • 妇女 主机磁共振
主要特点
- 监测数字 :
startMonitoring()财务报告和审定财务报表stopMonitoring()监视前景事件. - 自动重启: 重新装入终止的 WebView 以 a
reload, (中文(简体) ),reloadFromOrigin或者说customUrl战略. - 卫生调查数字 :
checkNow()立即测试Webview. - 状况和活动数字 :
getState()编辑foreground活动. - 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网上不可用.
在操作系统杀死其WebView后,当该应用处于后台时,保持您的Capacitor应用活性. Webview Guardian聆听了前景事件,探测了渲染器,并在渲染过程终止后自动地重新加载(或通知您以便您恢复自己的状态).
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-webview-guardian` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-webview-guardian
npx cap sync
使用量
import { WebviewGuardian } from '@capgo/capacitor-webview-guardian';
await WebviewGuardian.startMonitoring({
foregroundDebounceMs: 800,
autoRestart: true,
restartStrategy: 'reload',
});
WebviewGuardian.addListener('webviewRestarted', ({ reason }) => {
console.info('[guardian] WebView restarted', reason);
});
API 密码
startMonitoring(...)stopMonitoring()getState()checkNow(...)addListener('foreground' | 'webviewHealthy' | 'webviewCrashed' | 'webviewRestarted', ...)- 接口
- 类型异名
启动监测(...)
startMonitoring(options?: StartMonitoringOptions | undefined) => Promise<GuardianState>
开始观察前景事件,并自动检查WebView的健康.
| 参数 | 类型 |
|---|---|
options | StartMonitoringOptions |
回返情况: Promise<GuardianState>
停止监视 ()
stopMonitoring() => Promise<GuardianState>
停止任何自动前台监控.
回返情况: Promise<GuardianState>
获取状态( C)
getState() => Promise<GuardianState>
返回最新已知的监测状态.
回返情况: Promise<GuardianState>
检查现在(...)
checkNow(options?: CheckNowOptions | undefined) => Promise<CheckResult>
立即启动WebView健康探测器.
| 参数 | 类型 |
|---|---|
options | CheckNowOptions |
回返情况: Promise<CheckResult>
添加倾听器( “ 前景 ” QQ“ 网络视图健康 ” ) 。 )
addListener(eventName: 'foreground' | 'webviewHealthy' | 'webviewCrashed' | 'webviewRestarted', listenerFunc: (event: GuardianEvent) => void) => Promise<PluginListenerHandle>
| 参数 | 类型 |
|---|---|
eventName | 'foreground' | 'webviewHealthy' | 'webviewCrashed' | 'webviewRestarted' |
listenerFunc | (event: GuardianState) => void |
回返情况: Promise<PluginListenerHandle>
接口
守护国
| Prop | 类型 |
|---|---|
monitoring | boolean |
reason | string |
timestamp | string |
lastHealthyAt | string |
lastRestartAt | string |
lastCrashAt | string |
pendingRestartReason | string |
error | string |
开始监视选项
| Prop | 类型 | 说明 |
|---|---|---|
foregroundDebounceMs | number | 在应用程序重新进入前景后进行健康检查之前, 延迟( ms) 。 默认为600ms让大桥完成恢复. |
pingScript | string | 脚本通过 evaluateJavascript编号 :evaluateJavaScript 以确认WebView还活着。 默认为 document.readyState。 。 。 . |
autoRestart | boolean | 当检测到终止的渲染过程时, 自动重新装入 WebView 。 禁用以接收 webviewCrashed 事件并手动重新启动. |
restartStrategy | RestartStrategy | 重新启动 WebView 时使用的战略 。 默认为 reload。 。 。 . |
customRestartUrl | string | 自定义 HTTPS/ HTTP URL 装入时 restartStrategy 实值 customUrl。 。 。 . |
debug | boolean | 真实时在原生地层输入动词记录 . |
runInitialCheck | boolean | 是否应当在允许监测后立即进行健康检查。 默认为 true。 。 。 . |
检查结果
| Prop | 类型 |
|---|---|
healthy | boolean |
restarted | boolean |
reason | string |
timestamp | string |
error | string |
pendingRestart | boolean |
检查当前选项
| Prop | 类型 | 说明 |
|---|---|---|
reason | string | 描述为什么需要手动检查的文本标签 . |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
类型异名
重新启动战略
'reload' | 'reloadFromOrigin' | 'customUrl'