瀏覽代碼

don't parse rules when there don't exist

Gildas 7 年之前
父節點
當前提交
eaf4e5f080
共有 1 個文件被更改,包括 18 次插入16 次删除
  1. 18 16
      lib/single-file/single-file-core.js

+ 18 - 16
lib/single-file/single-file-core.js

@@ -255,26 +255,28 @@ const SingleFileCore = (() => {
 			});
 
 			function processRules(rules, cssRules) {
-				Array.from(rules).forEach(rule => {
-					if (rule.media) {
-						cssRules.push("@media " + Array.prototype.join.call(rule.media, ",") + " {");
-						processRules(rule.cssRules, cssRules);
-						cssRules.push("}");
-					} else if (rule.selectorText) {
-						const selector = rule.selectorText.replace(/::after|::before|::first-line|::first-letter|:focus|:hover/gi, "").trim();
-						if (selector) {
-							try {
-								if (doc.querySelector(selector)) {
+				if (rules) {
+					Array.from(rules).forEach(rule => {
+						if (rule.media) {
+							cssRules.push("@media " + Array.prototype.join.call(rule.media, ",") + " {");
+							processRules(rule.cssRules, cssRules);
+							cssRules.push("}");
+						} else if (rule.selectorText) {
+							const selector = rule.selectorText.replace(/::after|::before|::first-line|::first-letter|:focus|:hover/gi, "").trim();
+							if (selector) {
+								try {
+									if (doc.querySelector(selector)) {
+										cssRules.push(rule.cssText);
+									}
+								} catch (e) {
 									cssRules.push(rule.cssText);
 								}
-							} catch (e) {
-								cssRules.push(rule.cssText);
 							}
+						} else {
+							cssRules.push(rule.cssText);
 						}
-					} else {
-						cssRules.push(rule.cssText);
-					}
-				});
+					});
+				}
 			}
 		}