Просмотр исходного кода

Minz: Skip loading JS/CSS asset if it's already in the list (#9000)

Fixes `Uncaught SyntaxError: redeclaration of const freshrssSliderLoadEvent` error shown in console on e.g. `/i/?c=subscription&id=1` due to https://github.com/FreshRSS/FreshRSS/pull/8973
Inverle 1 день назад
Родитель
Сommit
143cb09418
1 измененных файлов с 20 добавлено и 0 удалено
  1. 20 0
      lib/Minz/View.php

+ 20 - 0
lib/Minz/View.php

@@ -225,6 +225,11 @@ class Minz_View {
 		if ($url === '') {
 			return;
 		}
+		foreach (self::$styles as $style) {
+			if ($style['url'] === $url) {
+				return;
+			}
+		}
 		array_unshift(self::$styles, [
 			'url' => $url,
 			'media' => $media,
@@ -239,6 +244,11 @@ class Minz_View {
 		if ($url === '') {
 			return;
 		}
+		foreach (self::$styles as $style) {
+			if ($style['url'] === $url) {
+				return;
+			}
+		}
 		self::$styles[] = [
 			'url' => $url,
 			'media' => $media,
@@ -306,6 +316,11 @@ class Minz_View {
 		if ($url === '') {
 			return;
 		}
+		foreach (self::$scripts as $script) {
+			if ($script['url'] === $url) {
+				return;
+			}
+		}
 		array_unshift(self::$scripts, [
 			'url' => $url,
 			'defer' => $defer,
@@ -325,6 +340,11 @@ class Minz_View {
 		if ($url === '') {
 			return;
 		}
+		foreach (self::$scripts as $script) {
+			if ($script['url'] === $url) {
+				return;
+			}
+		}
 		self::$scripts[] = [
 			'url' => $url,
 			'defer' => $defer,