Wayback Machine Favicon Fixer

Attempts to add a favicon to a site crawled by the Wayback Machine in the event one does not come up normally

目前为 2016-10-04 提交的版本。查看 最新版本

// ==UserScript==
// @name          Wayback Machine Favicon Fixer
// @namespace     DoomTay
// @description   Attempts to add a favicon to a site crawled by the Wayback Machine in the event one does not come up normally
// @version       1.2.0
// @include       http://web.archive.org/web/*
// @include       http://wayback.archive.org/web/*
// @include       https://web.archive.org/web/*
// @include       https://wayback.archive.org/web/*
// @exclude       /\*/
// @grant         none
// @noframes

// ==/UserScript==

var domain = window.location.href.substring(0,window.location.href.indexOf("/",window.location.href.lastIndexOf("//") + 2) + 1);
var timestamp = /web\/(\d{1,14})/.exec(window.location.href)[1];

var originalDomain = domain.substring(domain.lastIndexOf("http"));

if(!document.querySelector("link[rel~='icon']") && document.contentType == "text/html") retrieveFavicon();

function retrieveFavicon()
{
	function applyFavicon(data)
	{
		if (data.archived_snapshots && data.archived_snapshots.closest && data.archived_snapshots.closest.available)
		{
			var newFavicon = document.createElement('link');
			newFavicon.type = 'image/x-icon';
			newFavicon.rel = 'shortcut icon';
			newFavicon.href = data.archived_snapshots.closest.url;
			document.head.appendChild(newFavicon);
		}
	}
	
	var applyFaviconScript = document.createElement("script");
	applyFaviconScript.type = "text/javascript";
	applyFaviconScript.innerHTML = applyFavicon;
	document.head.appendChild(applyFaviconScript);
	
	var faviconScript = document.createElement("script");
	faviconScript.type = "application/javascript";
	faviconScript.src = "http://archive.org/wayback/available?url=" + encodeURI(originalDomain + "favicon.ico") + "&timestamp=" + timestamp + "&callback=applyFavicon";
	document.head.appendChild(faviconScript);
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址