Greasyfork 脚本显示评分

在浏览脚本列表时在脚本名称后面添加脚本评分

目前为 2024-09-10 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name Greasyfork Script Display Rating
  3. // @name:zh-CN Greasyfork 脚本显示评分
  4. // @description:zh-CN 在浏览脚本列表时在脚本名称后面添加脚本评分
  5. // @name:ar Greasyfork سكريبت لعرض التقييمات
  6. // @description:ar أضف تصنيف البرنامج النصي بعد اسم البرنامج النصي عند تصفح قائمة البرامج النصية
  7. // @name:bg Greasyfork Скрипт за показване на оценки
  8. // @description:bg Добавете оценка на скрипта след името на скрипта, когато преглеждате списъка със скриптове
  9. // @name:cs Greasyfork Skript pro zobrazení hodnocení
  10. // @description:cs Při procházení seznamu skriptů přidejte hodnocení skriptu za název skriptu
  11. // @name:da Greasyfork Script til at vise vurderinger
  12. // @description:da Tilføj scriptvurdering efter scriptnavn, når du gennemser scriptlisten
  13. // @name:de Greasyfork Skript zur Anzeige von Bewertungen
  14. // @description:de Fügen Sie beim Durchsuchen der Skriptliste nach dem Skriptnamen eine Skriptbewertung hinzu
  15. // @name:el Greasyfork Σενάριο για εμφάνιση βαθμολογιών
  16. // @description:el Προσθέστε βαθμολογία σεναρίου μετά το όνομα σεναρίου κατά την περιήγηση στη λίστα σεναρίων
  17. // @name:en Greasyfork Script to display ratings
  18. // @description:en Add script rating after script name when browsing script list
  19. // @name:eo Greasyfork Skripto por montri taksojn
  20. // @description:eo Aldonu skriptrangigon post skriptonomo kiam foliumas skriptliston
  21. // @name:es Greasyfork Script para mostrar calificaciones
  22. // @description:es Agregue calificación de secuencia de comandos después del nombre de la secuencia de comandos al explorar la lista de secuencias de comandos
  23. // @name:fi Greasyfork Komentosarja arvioiden näyttämiseksi
  24. // @description:fi Lisää komentosarjan luokitus ohjelman nimen perään, kun selaat komentosarjaluetteloa
  25. // @name:fr Greasyfork Script pour afficher les notes
  26. // @description:fr Ajouter une note de script après le nom du script lors de la navigation dans la liste des scripts
  27. // @name:he Greasyfork סקריפט להצגת דירוגים
  28. // @description:he הוסף דירוג סקריפט אחרי שם התסריט בעת גלישה ברשימת הסקריפטים
  29. // @name:hr Greasyfork Skripta za prikaz ocjena
  30. // @description:hr Dodajte ocjenu skripte nakon naziva skripte kada pregledavate popis skripti
  31. // @name:hu Greasyfork Szkript az értékelések megjelenítéséhez
  32. // @description:hu A szkriptlista böngészésekor adja hozzá a szkript minősítését a szkript neve után
  33. // @name:id Greasyfork Script untuk menampilkan peringkat
  34. // @description:id Tambahkan peringkat skrip setelah nama skrip saat menjelajahi daftar skrip
  35. // @name:it Greasyfork Script per visualizzare le valutazioni
  36. // @description:it Aggiungi la valutazione dello script dopo il nome dello script quando sfogli l’elenco degli script
  37. // @name:ja Greasyfork 評価を表示するスクリプト
  38. // @description:ja スクリプトリストを参照するときに、スクリプト名の後にスクリプト評価を追加します
  39. // @name:ka Greasyfork სკრიპტი რეიტინგების საჩვენებლად
  40. // @description:ka სკრიპტის სიის დათვალიერებისას დაამატეთ სკრიპტის რეიტინგი სკრიპტის სახელის შემდეგ
  41. // @name:ko Greasyfork 평점을 표시하는 스크립트
  42. // @description:ko 스크립트 목록 탐색 시 스크립트 이름 뒤에 스크립트 등급 추가
  43. // @name:nl Greasyfork Script om beoordelingen weer te geven
  44. // @description:nl Voeg een scriptbeoordeling toe na de scriptnaam wanneer u door de scriptlijst bladert
  45. // @name:nb Greasyfork Skript for å vise rangeringer
  46. // @description:nb Legg til skriptvurdering etter skriptnavn når du blar gjennom skriptlisten
  47. // @name:pl Greasyfork Skrypt wyświetlający oceny
  48. // @description:pl Dodaj ocenę skryptu po nazwie skryptu podczas przeglądania listy skryptów
  49. // @name:pt-BR Greasyfork Script para exibir avaliações
  50. // @description:pt-BR Adicione a classificação do script após o nome do script ao navegar na lista de scripts
  51. // @name:ro Greasyfork Script pentru afișarea evaluărilor
  52. // @description:ro Adăugați evaluarea scriptului după numele scriptului când răsfoiți lista de scripturi
  53. // @name:ru Greasyfork Скрипт для отображения рейтингов
  54. // @description:ru Добавить рейтинг сценария после имени сценария при просмотре списка сценариев.
  55. // @name:sk Greasyfork Skript na zobrazenie hodnotení
  56. // @description:sk Pri prehliadaní zoznamu skriptov pridajte hodnotenie skriptu za názov skriptu
  57. // @name:sr Greasyfork Скрипта за приказ оцена
  58. // @description:sr Додајте оцену скрипте после назива скрипте када прегледате листу скрипта
  59. // @name:sv Greasyfork Skript för att visa betyg
  60. // @description:sv Lägg till skriptbetyg efter skriptnamn när du bläddrar i skriptlistan
  61. // @name:th Greasyfork สคริปต์เพื่อแสดงเรตติ้ง
  62. // @description:th เพิ่มการให้คะแนนสคริปต์หลังชื่อสคริปต์เมื่อเรียกดูรายการสคริปต์
  63. // @name:tr Greasyfork Derecelendirmeleri görüntülemek için komut dosyası
  64. // @description:tr Komut dosyası listesine göz atarken komut dosyası adından sonra komut dosyası derecelendirmesi ekleyin
  65. // @name:ug Greasyfork باھانى كۆرسىتىش ئۈچۈن قوليازما
  66. // @description:ug قوليازما تىزىملىكىنى كۆرگەندە قوليازما نامىدىن كېيىن قوليازما دەرىجىسىنى قوشۇڭ
  67. // @name:uk Greasyfork Скрипт для відображення оцінок
  68. // @description:uk Додайте оцінку сценарію після назви сценарію під час перегляду списку сценаріїв
  69. // @name:vi Greasyfork Script hiển thị xếp hạng
  70. // @description:vi Thêm xếp hạng tập lệnh sau tên tập lệnh khi duyệt danh sách tập lệnh
  71. // @name:zh-TW Greasyfork 腳本顯示評分
  72. // @description:zh-TW 在瀏覽腳本清單時在腳本名稱後面新增腳本評分
  73. // @name:zh-HK Greasyfork 腳本顯示評分
  74. // @description:zh-HK 在瀏覽腳本清單時在腳本名稱後面新增腳本評分
  75. // @name:fr-CA Greasyfork Script pour afficher les notes
  76. // @description:fr-CA Ajouter une note de script après le nom du script lors de la navigation dans la liste des scripts
  77. // @namespace https://github.com/10086100886/
  78. // @version 1.3.3.61
  79. // @description Add the script rating after the script name when browsing the script list
  80. // @author 人民的勤务员 <toniaiwanowskiskr47@gmail.com>
  81. // @match https://greasyfork.org/*
  82. // @match https://sleazyfork.org/*
  83. // @license MIT
  84. // @grant none
  85. // @icon https://greasyfork.org/vite/assets/blacklogo96-CxYTSM_T.png
  86. // @supportURL https://github.com/ChinaGodMan/UserScripts/issues
  87. // @homepageURL https://github.com/ChinaGodMan/UserScripts
  88. // ==/UserScript==
  89. (function () {
  90. 'use strict'
  91. // 检测脚本列表的出现,并自动插入评分
  92. function observeScriptList() {
  93. const scriptList = document.querySelector('.script-list')
  94. if (scriptList) {
  95. // 插入评分
  96. insertRatings(scriptList)
  97. // 配置观察器
  98. const observer = new MutationObserver(function (mutationsList, observer) {
  99. for (let mutation of mutationsList) {
  100. if (mutation.type === 'childList') {
  101. for (let node of mutation.addedNodes) {
  102. // 检查是否为脚本列表项
  103. if (node.nodeType === Node.ELEMENT_NODE && node.matches('li[data-script-id]')) {
  104. insertRating(node)
  105. }
  106. }
  107. }
  108. }
  109. })
  110. // 开始观察脚本列表的变化
  111. observer.observe(scriptList, { childList: true, subtree: true })
  112. }
  113. }
  114. // 插入评分
  115. function insertRating(scriptBlock) {
  116. const ratingElement = scriptBlock.querySelector('dd.script-list-ratings')
  117. if (ratingElement) {
  118. const rating = ratingElement.getAttribute('data-rating-score')
  119. const ratingDisplay = document.createElement('span')
  120. ratingDisplay.textContent = rating.replace(/[^\d.]/g, '')
  121. ratingDisplay.style.marginLeft = '30px'
  122. ratingDisplay.style.fontSize = '1em'
  123. ratingDisplay.style.color = '#ff8c00'
  124. ratingDisplay.style.fontWeight = 'bold'
  125. const titleElement = scriptBlock.querySelector('.script-link')
  126. if (titleElement) {
  127. titleElement.insertAdjacentElement('afterend', ratingDisplay)
  128. }
  129. }
  130. }
  131. // 插入评分到当前页面的脚本列表中
  132. function insertRatings(scriptList) {
  133. const scriptBlocks = scriptList.querySelectorAll('li[data-script-id]')
  134. scriptBlocks.forEach(insertRating)
  135. }
  136. // 开始观察当前页面脚本列表的出现
  137. observeScriptList()
  138. // 观察 body 元素以检测页面加载了下一页
  139. const bodyObserver = new MutationObserver(function (mutationsList, observer) {
  140. mutationsList.forEach(mutation => {
  141. mutation.addedNodes.forEach(node => {
  142. if (node.nodeType === Node.ELEMENT_NODE && node.matches('.script-list')) {
  143. // 页面加载了下一页,自动插入评分
  144. insertRatings(node)
  145. }
  146. })
  147. })
  148. })
  149. // 开始观察 body 元素的子节点变化
  150. bodyObserver.observe(document.body, { childList: true, subtree: true })
  151. })()