您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fixes encoded ampersands on Wayback Machine's captures graph and problems that arise when trailing slashes are missing in an URL
当前为
- // ==UserScript==
- // @name Wayback Machine Small Bug Fixes
- // @namespace DoomTay
- // @description Fixes encoded ampersands on Wayback Machine's captures graph and problems that arise when trailing slashes are missing in an URL
- // @version 1.1.5
- // @include http://web.archive.org/web/*
- // @include https://web.archive.org/web/*
- // @grant none
- // ==/UserScript==
- var toolbarNav = document.getElementById("wm-graph-anchor");
- var pics = document.images;
- var lastFolder = window.location.href.substring(window.location.href.lastIndexOf("/") + 1);
- var shouldHaveTrailingSlash = window.location.href.lastIndexOf(".") < window.location.href.lastIndexOf("/") || window.location.href.substring(window.location.href.lastIndexOf("//") + 2) == lastFolder;
- var hasTrailingSlash = window.location.href.lastIndexOf("/") == window.location.href.length - 1;
- function fixToolbar()
- {
- while(toolbarNav.href.indexOf("&") > -1) toolbarNav.href = toolbarNav.href.replace("&","&");
- }
- //Fix cases of & in the capture graph
- if(toolbarNav) fixToolbar();
- if(shouldHaveTrailingSlash && !hasTrailingSlash)
- {
- if(!document.getElementsByTagName("base")[0])
- {
- var base = document.createElement("base");
- base.href = window.location.href + "/";
- document.head.appendChild(base);
- }
- for(var i = 0; i < pics.length; i++)
- {
- //Skip over stuff related to the Wayback Machine toolbar and data URIs
- if((document.getElementById("wm-ipp") && document.getElementById("wm-ipp").contains(pics[i])) || pics[i].src.indexOf("data:") > -1) continue;
- //It might be an offsite or absolute reference, which means we don't need to do anything
- //Weird hack to make sure the "revised" images will actually display
- pics[i].src = pics[i].src;
- }
- }
- var observer = new MutationObserver(function(mutations) {
- mutations.forEach(function(mutation) {
- if(mutation.type == "attributes" && mutation.target == toolbarNav) fixToolbar();
- });
- });
- var config = { attributes: true, childList: true, characterData: true, subtree: true, attributeFilter: ["href"] };
- observer.observe(toolbarNav, config);