您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Right now soup.io have problem with many image hosts which results in nearly half of the images being not displayed. Here's a workaround - force browser to use known-to-be-working asset hosts.
当前为
- // ==UserScript==
- // @name soup.io_force_working_asset_hosts
- // @namespace http://animeisouronlysalvationfromthehorrorofexistence.soup.io/
- // @include http://*soup.io/*
- // @include https://*soup.io/*
- // @include http://*soup.universe-factory.net*
- // @description Right now soup.io have problem with many image hosts which results in nearly half of the images being not displayed. Here's a workaround - force browser to use known-to-be-working asset hosts.
- // @version 5
- // @grant none
- // ==/UserScript==
- // A list of known to be working asset hosts.
- var working_hosts = [ 'asset-0', 'asset-1', 'asset-2', 'asset-3', 'asset-4', 'asset-5' ];
- var regex = new RegExp("asset-[^012345]", "g");
- function force_working_asset_hosts(){
- var tags = document.getElementsByTagName('img');
- var anchors = document.getElementsByTagName('a');
- var links = document.getElementsByTagName('link');
- for (var i = 0; i < tags.length; i++) {
- var rand_host = working_hosts[Math.floor(Math.random()*working_hosts.length)];
- tags[i].src = tags[i].src.replace(regex, rand_host);
- }
- for (var i = 0; i < anchors.length; i++) {
- var rand_host = working_hosts[Math.floor(Math.random()*working_hosts.length)];
- anchors[i].href = anchors[i].href.replace(regex, rand_host);
- }
- for (var i = 0; i < links.length; i++) {
- var rand_host = working_hosts[Math.floor(Math.random()*working_hosts.length)];
- links[i].href = links[i].href.replace(regex, rand_host);
- }
- }
- force_working_asset_hosts();
- var observer = new MutationObserver(function(mutations) {
- force_working_asset_hosts();
- });
- var config = { attributes: true, childList: true, characterData: true };
- var target = document.getElementById('more_history');
- observer.observe(target, config);