فهرست منبع

[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 سال پیش
والد
کامیت
a7c8731564
1فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  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,