Răsfoiți Sursa

[fix] YouTube Mobile Locale URL Doesn't Exist

On m.youtube.com, the locale URL doesn't exist. This will throw an invalid URL (passes undefined to the URL constructor).

On quick glance it doesn't appear that there's a good alternative on mobile, so I just fallback to 'en'.
evanreichard 3 ani în urmă
părinte
comite
a7c8731564
1 a modificat fișierele cu 5 adăugiri și 5 ștergeri
  1. 5 5
      Extensions/UserScript/Return Youtube Dislike.user.js

+ 5 - 5
Extensions/UserScript/Return Youtube Dislike.user.js

@@ -354,11 +354,11 @@ function roundDown(num) {
 }
 
 function numberFormat(numberState) {
-  const userLocales = new URL(
-    Array.from(document.querySelectorAll("head > link[rel='search']"))
-      ?.find((n) => n?.getAttribute("href")?.includes("?locale="))
-      ?.getAttribute("href")
-  )?.searchParams?.get("locale");
+  let localeURL = Array.from(document.querySelectorAll("head > link[rel='search']"))
+    ?.find((n) => n?.getAttribute("href")?.includes("?locale="))
+    ?.getAttribute("href");
+  
+  const userLocales = localeURL ? new URL(localeURL)?.searchParams?.get("locale") : 'en';
 
   const formatter = Intl.NumberFormat(
     document.documentElement.lang || userLocales,