您需要先安装一个扩展,例如 篡改猴、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);