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 { function getCssRuleString(rule: CSSRule): string {
return isCSSImportRule(rule) let cssStringified = rule.cssText;
? getCssRulesString(rule.styleSheet) || '' if (isCSSImportRule(rule)) {
: rule.cssText; try {
cssStringified = getCssRulesString(rule.styleSheet) || cssStringified;
} catch {}
}
return cssStringified;
} }
function isCSSImportRule(rule: CSSRule): rule is CSSImportRule { function isCSSImportRule(rule: CSSRule): rule is CSSImportRule {