Skip to content

API

Eruda 实例

init

初始化 Eruda。

选项

参数名类型说明
containerelement容器元素节点,如果未设置,它会直接在 HTML 根元素下添加一个元素
toolstring array选择你想要的默认面板,默认情况下会添加所有面板
autoScale=trueboolean为不同的视窗设置自动缩放 Eruda
useShadowDom=trueboolean使用 Shadow DOM 进行 CSS 隔离
defaultsobject默认设置

可用的默认设置:

参数名类型说明
transparencynumber透明度,范围从 0 到 1
displaySizenumber显示大小,范围从 0 到 100
themestring主题,默认为 Light,暗黑模式下为 Dark
javascript
const el = document.createElement('div');
document.body.appendChild(el);

eruda.init({
    container: el,
    tool: ['console', 'elements'],
    useShadowDom: true,
    autoScale: true,
    defaults: {
        displaySize: 50,
        transparency: 0.9,
        theme: 'Monokai Pro'
    }
});

destroy

销毁 Eruda。

注意:销毁后可以再次调用 init 方法。

javascript
eruda.destroy();

scale

设置或获取缩放比例。

javascript
eruda.scale(); // -> 1
eruda.scale(1.5);

position

设置或获取入口按钮的位置。

如果给定的位置超出视窗范围,将不会生效。

javascript
eruda.position({x: 20, y: 20});
eruda.position(); // -> {x: 20, y: 20}

get

获取面板实例,例如日志、元素面板。

javascript
let console = eruda.get('console');
console.log('eruda');

add

添加面板。

javascript
eruda.add(new (eruda.Tool.extend({
    name: 'test'
})));

eruda.add(eruda.Network);

remove

移除面板。

javascript
eruda.remove('console');

show

显示 Eruda 面板。

javascript
eruda.show();
eruda.show('console');

hide

隐藏 Eruda 面板。

javascript
eruda.hide();

Console

显示控制台日志。实现细节遵循 console api 规范

配置项

参数名类型说明
asyncRenderboolean异步渲染
jsExecutionboolean启用 JavaScript 执行
catchGlobalErrboolean捕获全局错误
overrideConsoleboolean劫持 console 对象
displayExtraInfoboolean显示额外信息
displayUnenumerableboolean显示不可枚举属性
displayGetterValboolean访问 getter 值
lazyEvaluationboolean点击时遍历对象
displayIfErrboolean如果发生错误自动显示
maxLogNumstring最大日志数量
javascript
let console = eruda.get('console');
console.config.set('catchGlobalErr', true);

log, error, info, warn, dir, time/timeLog/timeEnd, clear, count/countReset, assert, table, group/groupCollapsed/groupEnd

所有这些方法都可以像 window.console 对象一样使用。

注意:调用时会触发相应的事件。

javascript
let console = eruda.get('console');
console.log('eruda is a console for %s.', 'mobile browsers');
console.table([{test: 1}, {test: 2}, {test2: 3}], 'test');
console.error(new Error('eruda'));
console.on('log', function () 
{
    // 做任何你想做的事,发送到服务器或保存到本地存储。
});

filter

过滤日志。

参数名类型说明
filterstring regexp function自定义过滤器
javascript
console.filter('eruda');
console.filter(/^eruda/);
console.filter(function (log)
{
    return log.type === 'error';
});

html

输出 HTML。

参数名类型说明
htmlstringHTML 字符串
javascript
console.html('<span style="color:red">Red</span>');

Elements

检查 DOM 元素状态。

配置项

参数名类型说明
overrideEventTargetboolean捕获事件监听器
observeElementboolean自动刷新

select

选择要显示的节点。

参数名类型说明
nodeChildNode要选择的节点
javascript
elements.select(document.body);

Network

显示网络请求。

clear

清除所有请求数据。

requests

获取请求数据。

javascript
network.clear();

Resources

LocalStorage、sessionStorage、cookies、脚本、样式表和图片。

配置项

参数名类型说明
hideErudaSettingboolean隐藏 Eruda 设置

Sources

查看对象、HTML、JS 和 CSS。

配置项

参数名类型说明
showLineNumboolean显示行号

Info

显示指定信息,可用于显示用户信息以跟踪用户日志。

默认情况下,显示页面 URL 和浏览器用户代理。

clear

清除信息。

add

添加信息。

参数名类型说明
namestring信息名称
contentstring function信息内容
javascript
info.add('title', 'content');
info.add('location', () => location.href);

get

获取信息或信息列表。

参数名类型说明
namestring信息名称
返回值string function信息内容
javascript
info.add('title', 'content')
info.get(); // -> [{name: 'title', val: 'content'}]
info.get('title') // -> 'content'

remove

移除指定信息。

参数名类型说明
namestring信息名称
javascript
info.remove('title');

Snippets

注册可以多次触发的代码片段。

clear

清除代码片段。

add

添加代码片段。

参数名类型说明
namestring代码片段名称
fnfunction要触发的函数
descstring代码片段描述

remove

移除指定代码片段。

参数名类型说明
namestring代码片段名称

run

运行指定代码片段。

参数名类型说明
namestring代码片段名称
javascript
snippets.add('hello', function ()
{
    console.log('Hello World!');
}, 'Display hello on console');

snippets.run('hello');
snippets.remove('hello');

Settings

所有面板的设置。

clear

清除所有设置。

remove

移除设置。

参数名类型说明
cfgobject配置对象
namestring选项名称

text

添加文本。

参数名类型说明
strstring要显示的文本

switch

添加开关以切换布尔值。

参数名类型说明
cfgobject配置对象
namestring选项名称
descstring选项描述

select

添加选择框以选择多个字符串值。

参数名类型说明
cfgobject配置对象
namestring选项名称
descstring选项描述
valuesarray要选择的字符串数组

range

添加范围输入以输入一个数字。

参数名类型说明
cfgobject配置对象
namestring选项名称
descstring选项描述
optionobject最小值、最大值、步长

separator

添加一个分隔符。

javascript
import defaults from 'licia/defaults';

let cfg = eruda.Settings.createCfg('test');

cfg.set(defaults(cfg.get(), {
    testBool: true,
    testSelect: 'select1',
    testRange: 1
}));

settings.text('Test')
        .switch(cfg, 'testBool', 'Test Bool')
        .select(cfg, 'testSelect', 'Test Select', ['select1', 'select2'])
        .range(cfg, 'testRange', 'Test Range', {min: 0, max: 1, step: 0.1})
        .separator();

settings.remove(cfg, 'testBool')