HN better domain names

Displays the full domain name of each item on Hacker News.

目前為 2015-09-17 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        HN better domain names
// @description Displays the full domain name of each item on Hacker News.
// @version     2
// @namespace   https://tomkwok.com/hacker-news-greasemonkey-scripts/
// @include     http://news.ycombinator.com/*
// @include     https://news.ycombinator.com/*
// @grant       GM_addStyle
// ==/UserScript==

GM_addStyle(".orig-domain { color: #222 !important; }");

(function() {
  var HTTP_SCHEME = /^https?:\/\//;
  var spans = document.getElementsByClassName('comhead');

  for (var i = 0; i < spans.length; i++) {
    var span = spans[i];
    var a = span.previousSibling;
    var sitestr = span.getElementsByClassName('sitestr')[0];

    if (a.href && a.href.match(HTTP_SCHEME)) {
      orig_domain = new RegExp(sitestr.innerHTML.replace(/\s/, "")
                                                .replace(/\./, "\."));
      console.log(orig_domain);
      var h = a.href.replace(HTTP_SCHEME, "")
                    .replace(/\/.*/, "")
                    .replace(/^www\d*\./, "")
                    .replace(orig_domain, function (orig_domain){ return '<span class="orig-domain">' + orig_domain + '</span>'; });
      //span.innerHTML = " (" + h + ")";
      sitestr.innerHTML = h;
    }
  }
})();