跳到正文

fb.console 控制台 ​

fb.console 把消息写到 foobar2000 的控制台窗口,与浏览器的全局 console 无关。

每个方法写一行。只传 message 时,这一行就是消息原文。message 之后的值依次接在同一行,用空格隔开:字符串照原样,其他 JSON 值(数字、布尔、null、数组、对象)写成 JSON 文本,与浏览器控制台一样。这时 SDK 把全部内容作为宿主的 args 发出,因为宿主只在没有 message 时才读 args。

error(message, ...args) ​

签名:fb.console.error(message: string, ...args: NonNullable<ConsoleErrorParams['args']>): Promise<ConsoleErrorResponse>

写一行错误级消息,前缀 [WebView][ERROR]。

javascript
await fb.console.error('Artwork loading failed');

log(message, ...args) ​

签名:fb.console.log(message: string, ...args: NonNullable<ConsoleLogParams['args']>): Promise<ConsoleLogResponse>

写一行普通消息,前缀 [WebView]。

javascript
await fb.console.log('Theme initialized');

// 写出:[WebView] Loaded 42 tracks {"view":"albums"}
const r = await fb.console.log('Loaded', 42, 'tracks', { view: 'albums' });
if (r.success === false) {
    console.warn('console.log failed:', r.error);
}

warn(message, ...args) ​

签名:fb.console.warn(message: string, ...args: NonNullable<ConsoleWarnParams['args']>): Promise<ConsoleWarnResponse>

写一行警告级消息,前缀 [WebView][WARN]。

javascript
await fb.console.warn('Using fallback artwork');
await fb.console.warn('Cover missing for', 'C:\\Music\\a.flac');