Jelajahi Sumber

[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 tahun lalu
induk
melakukan
a7c8731564
1 mengubah file dengan 5 tambahan dan 5 penghapusan
  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,