Strava Segments Scroll Fix

Adds scroll bar to the "Segments" table on cycling activities. 27/04/2026

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Strava Segments Scroll Fix
// @namespace    http://tampermonkey.net/
// @version      3.0
// @author       Strava!!!
// @license      MIT
// @description	 Adds scroll bar to the "Segments" table on cycling activities. 27/04/2026
// @match        https://www.strava.com/activities/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function applyScrollFix() {
        const table = document.querySelector('table.segments');
        if (!table || table.dataset.scrollFixApplied) return;

        table.dataset.scrollFixApplied = "true";

        const wrapper = document.createElement('div');

        // Slightly less than full viewport to match map area
        wrapper.style.maxHeight = '65vh';
        wrapper.style.overflowY = 'auto';

        table.parentNode.insertBefore(wrapper, table);
        wrapper.appendChild(table);
    }

    applyScrollFix();

    const observer = new MutationObserver(applyScrollFix);
    observer.observe(document.body, { childList: true, subtree: true });
})();