Hacker News - Open in tabs

Open links in new tabs

スクリプトをインストールするには、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         Hacker News - Open in tabs
// @namespace    Stout
// @version      0.1
// @description  Open links in new tabs
// @author       Stout
// @license      MIT
// @match        https://news.ycombinator.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=news.ycombinator.com
// ==/UserScript==

function rewriteAnchorElements(path) {
    var anchorElements = document.evaluate(path,
                                           document,
                                           null,
                                           XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE);

    for (let i = 0; i < anchorElements.snapshotLength; ++i)
    {
        anchorElements.snapshotItem(i).target = '_blank';
    }
}

(function() {
    'use strict';

    rewriteAnchorElements("//table[@id='hnmain']//td[@class='title']/span[@class='titleline']/a");
    rewriteAnchorElements("//table[@id='hnmain']//td[@class='subtext']/span[@class='subline']/a[starts-with(@href, 'item?')]");
})();