可调整大小的表格列和替换链接文本

让用户通过拖动表头边缘调整表格列大小,并将锚文本替换为其标题属性

  1. // ==UserScript==
  2. // @name Resizable Table Columns & Replace Link Text
  3. // @description Let user resize table columns by dragging the header edges & replace anchor text with its title attribute
  4. // @name:ar أعمدة جدول قابلة لتغيير الحجم واستبدال نص الرابط
  5. // @description:ar يتيح للمستخدم تغيير حجم أعمدة الجدول بسحب حواف الرأس واستبدال نص الرابط بسمة العنوان الخاص به
  6. // @name:bg Преоразмеряеми колони на таблица и замяна на текст на връзка
  7. // @description:bg Позволява на потребителя да преоразмерява колоните на таблицата чрез плъзгане на ръбовете на заглавието и да заменя текста на връзката с атрибута за заглавие
  8. // @name:cs Přizpůsobitelné sloupce tabulky a nahrazení textu odkazu
  9. // @description:cs Umožňuje uživateli měnit velikost sloupců tabulky tažením okrajů záhlaví a nahradit text odkazu jeho atributem title
  10. // @name:da Justerbare tabelkolonner og udskiftning af linktekst
  11. // @description:da Lader brugeren ændre størrelsen på tabelkolonner ved at trække i kanterne på overskriften og erstatte linkteksten med dens titelattribut
  12. // @name:de Anpassbare Tabellenspalten & Linktext ersetzen
  13. // @description:de Ermöglicht dem Benutzer, Tabellenspalten durch Ziehen der Kopfzeilenränder anzupassen und den Ankertext durch dessen Titelattribut zu ersetzen
  14. // @name:el Προσαρμόσιμες στήλες πίνακα & αντικατάσταση κειμένου συνδέσμου
  15. // @description:el Επιτρέπει στον χρήστη να αλλάζει το μέγεθος των στηλών του πίνακα σύροντας τις άκρες της κεφαλίδας και να αντικαθιστά το κείμενο του συνδέσμου με το χαρακτηριστικό τίτλου του
  16. // @name:en Resizable Table Columns & Replace Link Text
  17. // @description:en Let user resize table columns by dragging the header edges & replace anchor text with its title attribute
  18. // @name:eo Regrandigeblaj Tabelkolumnoj & Anstataŭigo de Ligila Teksto
  19. // @description:eo Permesas al la uzanto regrandigi tabelkolumnojn per trenado de la kapliniaj randoj kaj anstataŭigi la ankran tekston per ĝia titolatributo
  20. // @name:es Columnas de tabla redimensionables y reemplazo de texto de enlace
  21. // @description:es Permite al usuario redimensionar columnas de tabla arrastrando los bordes del encabezado y reemplazar el texto del enlace con su atributo de título
  22. // @name:fi Muutettavan kokoiset taulukkosarakkeet ja linkkitekstin korvaaminen
  23. // @description:fi Antaa käyttäjän muuttaa taulukkosarakkeiden kokoa vetämällä otsikon reunoja ja korvata linkkitekstin sen otsikkoattribuutilla
  24. // @name:fr Colonnes de tableau redimensionnables et remplacement du texte du lien
  25. // @description:fr Permet à l’utilisateur de redimensionner les colonnes du tableau en faisant glisser les bords de l’en-tête et de remplacer le texte du lien par son attribut de titre
  26. // @name:fr-CA Colonnes de tableau redimensionnables et remplacement du texte du lien
  27. // @description:fr-CA Permet à l’utilisateur de redimensionner les colonnes du tableau en faisant glisser les bords de l’en-tête et de remplacer le texte du lien par son attribut de titre
  28. // @name:he עמודות טבלה הניתנות לשינוי גודל והחלפת טקסט קישור
  29. // @description:he מאפשר למשתמש לשנות את גודל עמודות הטבלה על ידי גרירת קצוות הכותרת ולהחליף את טקסט העוגן בתכונת הכותרת שלו
  30. // @name:hr Promjenjive širine stupaca tablice i zamjena teksta poveznice
  31. // @description:hr Omogućuje korisniku promjenu širine stupaca tablice povlačenjem rubova zaglavlja i zamjenu teksta poveznice s njegovim atributom naslova
  32. // @name:hu Átméretezhető táblázat oszlopok és hivatkozásszöveg cseréje
  33. // @description:hu Lehetővé teszi a felhasználó számára, hogy átméretezze a táblázat oszlopait a fejléc széleinek húzásával, és lecserélje a horgonyszöveget annak cím attribútumára
  34. // @name:id Kolom Tabel yang Dapat Diubah Ukurannya & Ganti Teks Tautan
  35. // @description:id Memungkinkan pengguna mengubah ukuran kolom tabel dengan menyeret tepi header & mengganti teks tautan dengan atribut judulnya
  36. // @name:it Colonne della tabella ridimensionabili e sostituzione del testo del link
  37. // @description:it Consente all’utente di ridimensionare le colonne della tabella trascinando i bordi dell’intestazione e sostituire il testo del link con il suo attributo title
  38. // @name:ja リサイズ可能なテーブル列とリンクテキストの置換
  39. // @description:ja ユーザーがヘッダーの端をドラッグしてテーブル列のサイズを変更し、アンカーテキストをそのタイトル属性で置き換えることを可能にします
  40. // @name:ka ცხრილის სვეტების ზომის შეცვლა და ბმულის ტექსტის ჩანაცვლება
  41. // @description:ka საშუალებას აძლევს მომხმარებელს შეცვალოს ცხრილის სვეტების ზომა თავსართის კიდეების გადათრევით და შეცვალოს ბმულის ტექსტი მისი სათაურის ატრიბუტით
  42. // @name:ko 크기 조절 가능한 테이블 열 및 링크 텍스트 교체
  43. // @description:ko 사용자가 헤더 가장자리를 드래그하여 테이블 열 크기를 조절하고 앵커 텍스트를 그 제목 속성으로 교체할 수 있게 합니다
  44. // @name:nb Justerbare tabellkolonner og erstatning av lenketekst
  45. // @description:nb Lar brukeren justere tabellkolonner ved å dra i kantene på overskriften og erstatte lenketeksten med dens tittelattributt
  46. // @name:nl Aanpasbare tabelkolommen & vervanging van linktekst
  47. // @description:nl Laat de gebruiker tabelkolommen aanpassen door de randen van de kop te slepen en de linktekst vervangen door het titelattribuut
  48. // @name:pl Regulowane kolumny tabeli i zamiana tekstu linku
  49. // @description:pl Umożliwia użytkownikowi regulację kolumn tabeli przez przeciąganie krawędzi nagłówka oraz zamianę tekstu linku na jego atrybut title
  50. // @name:pt-BR Colunas de tabela redimensionáveis e substituição de texto de link
  51. // @description:pt-BR Permite ao usuário redimensionar colunas de tabela arrastando as bordas do cabeçalho e substituir o texto do link pelo seu atributo de título
  52. // @name:ro Coloane de tabel redimensionabile și înlocuirea textului linkului
  53. // @description:ro Permite utilizatorului să redimensioneze coloanele tabelului trăgând marginile antetului și să înlocuiască textul linkului cu atributul său de titlu
  54. // @name:ru Изменяемые размеры столбцов таблицы и замена текста ссылки
  55. // @description:ru Позволяет пользователю изменять размер столбцов таблицы, перетаскивая края заголовка, и заменять текст ссылки её атрибутом заголовка
  56. // @name:sk Prispôsobiteľné stĺpce tabuľky a nahradenie textu odkazu
  57. // @description:sk Umožňuje používateľovi meniť veľkosť stĺpcov tabuľky ťahaním okrajov hlavičky a nahradiť text odkazu jeho atribútom title
  58. // @name:sr Променљиве ширине колона табеле и замена текста везе
  59. // @description:sr Омогућава кориснику да промени ширину колона табеле повлачењем ивица заглавља и замени текст везе са њеним атрибутом наслова
  60. // @name:sv Justerbara tabellkolumner och ersättning av länktext
  61. // @description:sv Låter användaren justera tabellkolumner genom att dra i kanterna på rubriken och ersätta länktexten med dess titelattribut
  62. // @name:th คอลัมน์ตารางปรับขนาดได้และการแทนที่ข้อความลิงก์
  63. // @description:th อนุญาตให้ผู้ใช้ปรับขนาดคอลัมน์ตารางโดยการลากขอบของส่วนหัวและแทนที่ข้อความลิงก์ด้วยแอตทริบิวต์ชื่อเรื่อง
  64. // @name:tr Yeniden Boyutlandırılabilir Tablo Sütunları ve Bağlantı Metni Değiştirme
  65. // @description:tr Kullanıcının tablo sütunlarını başlık kenarlarını sürükleyerek yeniden boyutlandırmasına ve bağlantı metnini başlık özniteliği ile değiştirmesine olanak tanır
  66. // @name:ug كۆلەم ئۆزگەرتىشكە بولىدىغان جەدۋەل ئىستونلىرى ۋە ئۇلىنىش تېكىستىنى ئالماشتۇرۇش
  67. // @description:ug ئىشلەتكۈچىگە جەدۋەل ئىستونلىرىنى باشلىق چەتلىرىنى سۆرەپ كۆلەم ئۆزگەرتىشكە ۋە ئۇلىنىش تېكىستىنى ئۇنىڭ ماۋزۇ ئالاھىدىلىكى بىلەن ئالماشتۇرۇشقا يول قويىدۇ
  68. // @name:uk Змінювані розміри стовпців таблиці та заміна тексту посилання
  69. // @description:uk Дозволяє користувачу змінювати розміри стовпців таблиці, перетягуючи краї заголовка, та замінювати текст посилання його атрибутом заголовка
  70. // @name:vi Cột bảng có thể thay đổi kích thước & thay thế văn bản liên kết
  71. // @description:vi Cho phép người dùng thay đổi kích thước cột bảng bằng cách kéo các cạnh tiêu đề và thay thế văn bản liên kết bằng thuộc tính tiêu đề của nó
  72. // @name:zh 可调整大小的表格列和替换链接文本
  73. // @description:zh 让用户通过拖动表头边缘调整表格列大小,并将锚文本替换为其标题属性
  74. // @name:zh-CN 可调整大小的表格列和替换链接文本
  75. // @description:zh-CN 让用户通过拖动表头边缘调整表格列大小,并将锚文本替换为其标题属性
  76. // @name:zh-HK 可調節大小嘅表格列同取代連結文本
  77. // @description:zh-HK 畀用戶通過拖動表頭邊緣調整表格列大小,並將錨點文本取代為其標題屬性
  78. // @name:zh-SG 可调整大小的表格列和替换链接文本
  79. // @description:zh-SG 让用户通过拖动表头边缘调整表格列大小,并将锚文本替换为其标题属性
  80. // @name:zh-TW 可調整大小的表格列與替換連結文字
  81. // @description:zh-TW 讓使用者通過拖曳表頭邊緣調整表格列大小,並將錨文字替換為其標題屬性
  82. // @namespace http://tampermonkey.net/
  83. // @version 1.0.1
  84. // @author aspen138
  85. // @match *://*/*
  86. // @grant none
  87. // @license MIT
  88. // ==/UserScript==
  89.  
  90. (function() {
  91. 'use strict';
  92.  
  93. // Insert some CSS for the column "grip" that we'll add to each header
  94. const style = document.createElement('style');
  95. style.textContent = `
  96. .column-resize-grip {
  97. position: absolute;
  98. top: 0;
  99. right: 0;
  100. width: 6px; /* Thicker area for easier dragging */
  101. height: 100%;
  102. cursor: col-resize;
  103. user-select: none;
  104. }
  105. th.resizable-header {
  106. position: relative;
  107. }
  108. `;
  109. document.head.appendChild(style);
  110.  
  111. /**
  112. * Attach grips to each table header so we can drag the column widths.
  113. * @param {HTMLTableElement} table A table element to attach resizing.
  114. */
  115. function makeColumnsResizable(table) {
  116. const headers = table.querySelectorAll('th');
  117. if (!headers.length) return;
  118.  
  119. headers.forEach((header) => {
  120. header.classList.add('resizable-header');
  121. // Avoid adding multiple grips if script runs again
  122. if (header.querySelector('.column-resize-grip')) return;
  123.  
  124. const grip = document.createElement('div');
  125. grip.className = 'column-resize-grip';
  126. header.appendChild(grip);
  127.  
  128. grip.addEventListener('mousedown', startDragging);
  129. });
  130.  
  131. function startDragging(event) {
  132. event.preventDefault();
  133. event.stopPropagation();
  134.  
  135. const headerEl = event.target.parentElement;
  136. const startX = event.clientX;
  137. const startWidth = headerEl.offsetWidth;
  138.  
  139. document.addEventListener('mousemove', onDrag);
  140. document.addEventListener('mouseup', stopDragging);
  141.  
  142. function onDrag(e) {
  143. const dx = e.clientX - startX;
  144. headerEl.style.width = `${startWidth + dx}px`;
  145. }
  146.  
  147. function stopDragging() {
  148. document.removeEventListener('mousemove', onDrag);
  149. document.removeEventListener('mouseup', stopDragging);
  150. }
  151. }
  152. }
  153.  
  154. /**
  155. * Replace the truncated link text with its full "title" attribute.
  156. * @param {HTMLTableElement} table A table element containing anchors with a title attribute.
  157. */
  158. function replaceLinkTextWithTitle(table) {
  159. const anchors = table.querySelectorAll('a[title]');
  160. anchors.forEach(anchor => {
  161. anchor.textContent = anchor.getAttribute('title');
  162. });
  163. }
  164.  
  165. window.addEventListener('load', function() {
  166. // Modify the selector below to match your table's selector
  167. const table = document.querySelector('.t-tablelist');
  168. if (table) {
  169. makeColumnsResizable(table);
  170. replaceLinkTextWithTitle(table);
  171. }
  172. });
  173. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址