diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt index b959987b3..cf3d3a4ee 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt @@ -410,7 +410,8 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { init { this.mode = mainMode - rule = when { + rule = if(mode == Mode.Js)ruleStr //避免被后面的值覆盖,加个判断 + else when { ruleStr.startsWith("@CSS:", true) -> { mode = Mode.Default ruleStr @@ -431,7 +432,7 @@ class AnalyzeRule(val ruleData: RuleDataInterface) : JsExtensions { mode = Mode.Json ruleStr.substring(6) } - (ruleStr[1] == '.' || ruleStr[1] == '[') && ruleStr.startsWith("$.") || isJSON -> { + ruleStr.startsWith("$.") || ruleStr.startsWith("$[") || isJSON -> { mode = Mode.Json ruleStr }