白屏检测
白屏检测在屏幕上采多个点,判断这些点是否为空白元素点以及是否为相同元素的点。 如果空白元素点的比例以及相同元素的点的比例超过一定阈值后,则认为当前页面为白屏页面。
白屏插件配置
默认可设置为 plugin.blankScreen 为 true 即可
interface BlankScreenConfig {
/**
* 空白元素选择器,默认为 ['body', 'html', '#app', '#root'],
* 如果有骨架屏,推荐骨架屏的选择器,也放到根节点
* 如果采样点在此范围内,则认为该点为一个空白点
*/
containers?: string[];
/**
* 忽略的容器节点/占位/空白节点元素的配置,避免误检
*/
ignoreContainers?: string[];
/**
* 空白节点比例,比例越大,相对越精准,默认 70%
*/
emptyElementsPercent?: number;
/**
* 相同元素检测比例,比例越大,相对越准确, 默认 70%
*/
sameElementsPercent?: number;
/**
* debounce间隔,防止触发太频繁
*/
debounceDuration?: number;
/**
* 是否关闭相同元素检测功能,默认为 false
*/
disableSameElementsCheck?: boolean;
/**
* DOM 变化需要忽略的元素
*/
ignoreElesWhenDomChange?: string[];
/**
* 复检的时间间隔
*/
reDetectInterval?: number;
};
默认白屏配置:
/**
* 默认白屏插件配置
*/
export const defaultWhiteBlankConfig: Required<BlankScreenConfig> = {
containers: ['body', 'html', '#app', '#root'],
ignoreContainers: [],
emptyElementsPercent: 70,
sameElementsPercent: 70,
debounceDuration: 1500,
disableSameElementsCheck: false,
ignoreElesWhenDomChange: [],
reDetectInterval: 1500,
};