RSS Feed Finder

Looks for RSS links on the page when there isn't a subscribe button set in the header

スクリプトをインストールするには、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        RSS Feed Finder
// @namespace   DoomTay
// @description Looks for RSS links on the page when there isn't a subscribe button set in the header
// @version     1.0.1
// @include     *
// @grant       none
// ==/UserScript==

var links = document.links;
var foundLinks = [];

if(!document.querySelector("link[type='application/rss+xml']") && !document.querySelector("link[type='application/atom+xml']"))
{
	for(var i = 0; i < links.length; i++)
	{
		if(foundLinks.includes(links[i].href)) continue;
		if(links[i].href.includes("/feed") && links[i].href.includes("atom")) makeFeedLink(links[i],"application/atom+xml");
		else if(links[i].href.includes("/rss") || links[i].href.includes(".rss") || links[i].href.includes("/feed") || links[i].href.includes(".xml")) makeFeedLink(links[i],"application/rss+xml");
	}
}

function makeFeedLink(link,type)
{
	var newRSSButton = document.createElement("link");
	newRSSButton.rel = "alternate";
	newRSSButton.type = type;
	newRSSButton.href = link.href;
	newRSSButton.title = link.textContent.trim() != "" ? link.textContent.trim() : "RSS Feed";
	document.head.appendChild(newRSSButton);
	foundLinks.push(link.href);
}