UWP ئەپ دېتالى چۈشۈرۈشكە سەكرەش

ئەپ دېتالىنىڭ كونكرېت بېتىدىكى بىرىنچى پەرزەنت ئېلېمېنتىنىڭ ئالدىغا ئىختىيارى ئۇلىنىش قىستۇرۇڭ ، چۈشۈرۈش بېتىنى ئېچىڭ

  1. // ==UserScript==
  2. // @name UWP App Jump to Download
  3. // @description Insert a custom link before the first child element on specific app pages, open the download page
  4. // @name:ar تطبيق UWP الانتقال إلى التنزيل
  5. // @description:ar إدراج رابط مخصص قبل العنصر الفرعي الأول في صفحات تطبيقات معينة، وفتح صفحة التنزيل
  6. // @name:bg UWP App Преминаване към изтегляне
  7. // @description:bg Вмъкване на персонализирана връзка преди първия дъщерен елемент на определени страници с приложения, отваряне на страницата за изтегляне
  8. // @name:cs UWP aplikace Skok ke stažení
  9. // @description:cs Vložení vlastního odkazu před první podřízený prvek na konkrétních stránkách aplikací, otevření stránky pro stažení
  10. // @name:da UWP App Hop til download
  11. // @description:da Indsæt et brugerdefineret link før det første underordnede element på specifikke appsider, åbn downloadsiden
  12. // @name:de UWP App Zum Download springen
  13. // @description:de Einen benutzerdefinierten Link vor dem ersten untergeordneten Element auf bestimmten App-Seiten einfügen, die Download-Seite öffnen
  14. // @name:el UWP App Άλμα στη λήψη
  15. // @description:el Εισαγωγή ενός προσαρμοσμένου συνδέσμου πριν από το πρώτο θυγατρικό στοιχείο σε συγκεκριμένες σελίδες εφαρμογών, άνοιγμα της σελίδας λήψης
  16. // @name:eo UWP App Saltu al Elŝuto
  17. // @description:eo Enmeti kutiman ligilon antaŭ la unua infana elemento en specifaj aplikaĵpaĝoj, malfermi la elŝutan paĝon
  18. // @name:es Aplicación UWP Saltar a la descarga
  19. // @description:es Insertar un enlace personalizado antes del primer elemento secundario en páginas de aplicaciones específicas, abrir la página de descarga
  20. // @name:fi UWP-sovellus Hyppää lataukseen
  21. // @description:fi Lisää mukautettu linkki ennen ensimmäistä alielementtiä tietyillä sovellussivuilla, avaa lataussivu
  22. // @name:fr Application UWP Aller au téléchargement
  23. // @description:fr Insérer un lien personnalisé avant le premier élément enfant sur des pages d'application spécifiques, ouvrir la page de téléchargement
  24. // @name:fr-CA Application UWP Aller au téléchargement
  25. // @description:fr-CA Insérer un lien personnalisé avant le premier élément enfant sur des pages d'application spécifiques, ouvrir la page de téléchargement
  26. // @name:he אפליקציית UWP קפיצה להורדה
  27. // @description:he הוספת קישור מותאם אישית לפני רכיב הצאצא הראשון בדפי אפליקציות ספציפיים, פתיחת דף ההורדה
  28. // @name:hr UWP aplikacija Skoči na preuzimanje
  29. // @description:hr Umetanje prilagođene veze prije prvog podređenog elementa na određenim stranicama aplikacije, otvaranje stranice za preuzimanje
  30. // @name:hu UWP App Ugrás a letöltéshez
  31. // @description:hu Egyéni hivatkozás beszúrása az első gyermek elem elé adott alkalmazásoldalakon, a letöltési oldal megnyitása
  32. // @name:id Aplikasi UWP Lompat ke Unduhan
  33. // @description:id Sisipkan tautan khusus sebelum elemen anak pertama di halaman aplikasi tertentu, buka halaman unduhan
  34. // @name:it App UWP Salta al download
  35. // @description:it Inserisci un collegamento personalizzato prima del primo elemento figlio nelle pagine delle app specifiche, apri la pagina di download
  36. // @name:ja UWPアプリのダウンロードにジャンプ
  37. // @description:ja 特定のアプリページの最初の子要素の前にカスタムリンクを挿入し、ダウンロードページを開きます
  38. // @name:ka UWP აპი გადადით ჩამოტვირთვაზე
  39. // @description:ka მორგებული ბმულის ჩასმა პირველ შვილობილ ელემენტამდე კონკრეტულ აპლიკაციის გვერდებზე, ჩამოტვირთვის გვერდის გახსნა
  40. // @name:ko UWP 앱 다운로드로 이동
  41. // @description:ko 특정 앱 페이지의 첫 번째 자식 요소 앞에 사용자 지정 링크를 삽입하고 다운로드 페이지를 엽니다.
  42. // @name:nb UWP App Hopp til nedlasting
  43. // @description:nb Sett inn en egendefinert lenke før det første underordnede elementet på spesifikke appsider, åpne nedlastingssiden
  44. // @name:nl UWP-app Ga naar downloaden
  45. // @description:nl Voeg een aangepaste link in voor het eerste onderliggende element op specifieke app-pagina's, open de downloadpagina
  46. // @name:pl Aplikacja UWP Przejdź do pobierania
  47. // @description:pl Wstaw niestandardowy link przed pierwszym elementem podrzędnym na konkretnych stronach aplikacji, otwórz stronę pobierania
  48. // @name:pt-BR Aplicativo UWP Ir para Download
  49. // @description:pt-BR Inserir um link personalizado antes do primeiro elemento filho em páginas de aplicativos específicas, abrir a página de download
  50. // @name:ro Aplicație UWP Salt la descărcare
  51. // @description:ro Inserați un link personalizat înainte de primul element copil pe paginile specifice ale aplicației, deschideți pagina de descărcare
  52. // @name:ru UWP App Перейти к загрузке
  53. // @description:ru Вставить пользовательскую ссылку перед первым дочерним элементом на определенных страницах приложений, открыть страницу загрузки
  54. // @name:sk UWP Aplikácia Skočiť na stiahnutie
  55. // @description:sk Vloženie vlastného odkazu pred prvý podradený prvok na konkrétnych stránkach aplikácií, otvorenie stránky na stiahnutie
  56. // @name:sr UWP апликација Скочи на преузимање
  57. // @description:sr Уметање прилагођене везе пре првог подређеног елемента на одређеним страницама апликација, отварање странице за преузимање
  58. // @name:sv UWP-app Hoppa till nedladdning
  59. // @description:sv Infoga en anpassad länk före det första underordnade elementet på specifika appsidor, öppna nedladdningssidan
  60. // @name:th แอป UWP ไปที่ดาวน์โหลด
  61. // @description:th แทรกลิงก์ที่กำหนดเองก่อนองค์ประกอบลูกตัวแรกในหน้าแอปเฉพาะ เปิดหน้าดาวน์โหลด
  62. // @name:tr UWP Uygulaması İndirmeye Git
  63. // @description:tr Belirli uygulama sayfalarında ilk alt öğeden önce özel bir bağlantı ekleyin, indirme sayfasını açın
  64. // @name:ug UWP ئەپ دېتالى چۈشۈرۈشكە سەكرەش
  65. // @description:ug ئەپ دېتالىنىڭ كونكرېت بېتىدىكى بىرىنچى پەرزەنت ئېلېمېنتىنىڭ ئالدىغا ئىختىيارى ئۇلىنىش قىستۇرۇڭ ، چۈشۈرۈش بېتىنى ئېچىڭ
  66. // @name:uk UWP App Перейти до завантаження
  67. // @description:uk Вставити спеціальне посилання перед першим дочірнім елементом на певних сторінках програм, відкрити сторінку завантаження
  68. // @name:vi Ứng dụng UWP Chuyển đến Tải xuống
  69. // @description:vi Chèn một liên kết tùy chỉnh trước phần tử con đầu tiên trên các trang ứng dụng cụ thể, mở trang tải xuống
  70. // @name:zh UWP 应用跳转到下载页面
  71. // @description:zh 在特定应用页面的第一个子元素前插入自定义链接,打开下载页面
  72. // @name:zh-CN UWP 应用跳转到下载页面
  73. // @description:zh-CN 在特定应用页面的第一个子元素前插入自定义链接,打开下载页面
  74. // @name:zh-HK UWP 應用跳轉到下載頁面
  75. // @description:zh-HK 在特定應用頁面的第一個子元素前插入自定義鏈接,打開下載頁面
  76. // @name:zh-SG UWP 应用跳转到下载页面
  77. // @description:zh-SG 在特定应用页面的第一个子元素前插入自定义链接,打开下载页面
  78. // @name:zh-TW UWP 應用跳轉到下載頁面
  79. // @description:zh-TW 在特定應用頁面的第一個子元素前插入自定義鏈接,打開下載頁面
  80. // @version 0.0.5.2
  81. // @author aspen138
  82. // @match *://apps.microsoft.com/detail/*
  83. // @namespace tampermonkey
  84. // @license MIT
  85. // @grant none
  86. // @grant GM_openInTab
  87. // @grant GM_getValue
  88. // @grant GM_setValue
  89. // @grant window.focus
  90. // ==/UserScript==
  91.  
  92.  
  93. // test case: https://apps.microsoft.com/detail/9nt1r1c2hh7j?hl=en-us&gl=US
  94.  
  95.  
  96.  
  97. const openDownloadPage= () =>{
  98. 'use strict';
  99.  
  100. // Check if we're on the correct page
  101. if (!window.location.href.includes('/detail/')) return;
  102.  
  103. const appUrl = window.location.href;
  104.  
  105. // Function to submit form to store.rg-adguard.net
  106. const submitForm = () => {
  107. const form = document.createElement('form');
  108. form.method = 'POST';
  109. form.action = 'https://store.rg-adguard.net/api/GetFiles';
  110. form.target = '_blank';
  111.  
  112. // Create input elements
  113. const inputs = [
  114. { name: 'type', value: 'url' },
  115. { name: 'url', value: appUrl },
  116. { name: 'ring', value: 'Retail' },
  117. { name: 'lang', value: 'en-US' },
  118. ];
  119.  
  120. inputs.forEach(({ name, value }) => {
  121. const input = document.createElement('input');
  122. input.type = 'hidden';
  123. input.name = name;
  124. input.value = value;
  125. form.appendChild(input);
  126. });
  127.  
  128. document.body.appendChild(form);
  129. form.submit();
  130. document.body.removeChild(form);
  131. };
  132.  
  133. // Automatically submit the form on page load
  134. submitForm();
  135.  
  136. };
  137.  
  138. (function () {
  139. 'use strict';
  140.  
  141. // Check if we're on the correct page
  142. if (!window.location.href.includes('/detail/')) return;
  143.  
  144. const appUrl = window.location.href;
  145.  
  146. // Create the banner element
  147. const banner = document.createElement('div');
  148. banner.style.cssText = `
  149. background-color: #f44336;
  150. color: white;
  151. font-size: 16px;
  152. padding: 10px;
  153. text-align: center;
  154. cursor: pointer;
  155. border-bottom: 2px solid #d32f2f;
  156. position: sticky;
  157. top: 0;
  158. z-index: 1000;
  159. `;
  160. banner.textContent = 'Click here to open Download page of this UWP App';
  161.  
  162. // Function to open the new page and auto-fill the input
  163. const openNewTab = () => {
  164. const newTab = window.open('https://store.rg-adguard.net/', '_blank');
  165. if (newTab) {
  166. // Inject the script into the new tab after it loads
  167. newTab.onload = () => {
  168. const inputElement = newTab.document.getElementById('url');
  169. console.log("inputElement=",inputElement);
  170. if (inputElement) {
  171. inputElement.value = appUrl; // Set the value
  172. inputElement.placeholder = appUrl; // Update the placeholder
  173. }
  174.  
  175. const button = newTab.document.querySelector('input[type="button"]');
  176. if (button) button.click();
  177. };
  178. }
  179. };
  180.  
  181. banner.onclick = openDownloadPage;
  182.  
  183. // Insert the banner at the top of the page
  184. const firstElement = document.body.firstChild;
  185. document.body.insertBefore(banner, firstElement);
  186.  
  187. // Automatically open the new tab on page load
  188. let autoOpenNewTab=false;
  189. if(autoOpenNewTab) openNewTab();
  190.  
  191. })();
  192.  
  193.  
  194.  
  195.  
  196.