您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A userscript converts title tooltips into Github Tooltips
- // ==UserScript==
- // @name GitHub Make Tooltips
- // @version 1.0.5
- // @description A userscript converts title tooltips into Github Tooltips
- // @license MIT
- // @author StylishThemes
- // @namespace https://github.com/StylishThemes
- // @include https://github.com/*
- // @run-at document-idle
- // @grant GM_addStyle
- // @icon https://avatars3.githubusercontent.com/u/6145677?v=3&s=200
- // @homepageURL https://github.com/StylishThemes/GitHub-Dark-Script
- // ==/UserScript==
- (() => {
- "use strict";
- GM_addStyle(".news .alert, .news .alert .body { overflow: visible !important; }");
- function init() {
- let indx = 0;
- const els = document.querySelector("body").querySelectorAll("[title]");
- const regex = /(link|time-ago|relative-time)/gi;
- const len = els.length;
- // loop with delay to allow user interaction
- function loop() {
- let el, txt, direction,
- // max number of DOM modifications per loop
- max = 0;
- while (max < 20 && indx < len) {
- if (indx >= len) {
- return;
- }
- el = els[indx];
- if (!regex.test(el.nodeName) && !el.classList.contains("tooltipped")) {
- txt = el.title || "";
- // Change direction of star & fork tooltips - fixes #30
- direction = el.classList.contains("btn-with-count") ?
- "tooltipped-s" :
- "tooltipped-n";
- el.classList.add(...["tooltipped", direction]);
- if (txt.length > 45) {
- el.classList.add("tooltipped-multiline");
- }
- el.setAttribute("aria-label", txt);
- el.removeAttribute("title");
- max++;
- }
- indx++;
- }
- if (indx < len) {
- setTimeout(() => {
- loop();
- }, 200);
- }
- }
- loop();
- }
- init();
- document.addEventListener("pjax:end", init);
- })();