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
2021-10-06 03:20:41 +02:00
committed by GitHub
parent 179e7e77d7
commit 4ff6e41877

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 {