fix(rrweb-snapshot): don't exclude @import CSS rules from the output and use CSSRule.cssText instead when they throw an exception while accessing their CSSStyleSheet.cssRules property (#720)

This commit is contained in:
Pavel Hurieiev
2026-04-01 12:00:00 +08:00
committed by GitHub
parent ec93ad5b66
commit af929f0767

View File

@@ -49,9 +49,13 @@ function getCssRulesString(s: CSSStyleSheet): string | null {
}
function getCssRuleString(rule: CSSRule): string {
return isCSSImportRule(rule)
? getCssRulesString(rule.styleSheet) || ''
: rule.cssText;
let cssStringified = rule.cssText;
if (isCSSImportRule(rule)) {
try {
cssStringified = getCssRulesString(rule.styleSheet) || cssStringified;
} catch {}
}
return cssStringified;
}
function isCSSImportRule(rule: CSSRule): rule is CSSImportRule {