最新ニコレポ内のリンクを常に新しいタブで開く

最新ニコレポ内のリンクをクリックした時に常に新しいタブで開きます

// ==UserScript==
// @name         最新ニコレポ内のリンクを常に新しいタブで開く
// @namespace    https://rinsuki.net/
// @version      0.1
// @description  最新ニコレポ内のリンクをクリックした時に常に新しいタブで開きます
// @author       rinsuki
// @match        https://www.nicovideo.jp/my/top*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function findAnchorTag(e) {
        if (e == null) return e
        if (e.tagName === "A") return e
        return findAnchorTag(e.parentElement)
    }

    function isChildTreeOfNicorepoRoot(e) {
        if (e == null) return false
        if (e.classList.contains("NicorepoTimeline")) return true
        return isChildTreeOfNicorepoRoot(e.parentElement)
    }

    document.addEventListener("click", e => {
        const anchor = findAnchorTag(e.target)
        if (anchor == null) return
        if (!isChildTreeOfNicorepoRoot(anchor)) return
        anchor.target = "_blank"
    })
})();