Юзерскрипт для Google Crhome удаляющий "66." из всех адресов изображений в Tumblr
В Tumblr все картинки в постах имеют адрес вида https://66.media.tumblr.com/адрес_картинки_на_сервере.jpg
Такого вида адреса мой провайдер блокирует. Но если оттуда вырезать "66." и оставить просто https://media.tumblr.com/адрес_картинки_на_сервере.jpg, то картинка открывается нормально.
Не могу сообразить, как написать скрипт, который бы из всего кода страницы удалял все "66.". Если у кого-то есть готовое решение, которое можно будет использовать, напишите, будьте добры.
upd:
Скрипт подсказали:
let links = document.querySelectorAll('img');
links.forEach(element => {
let srcset = element.srcset;
element.srcset = srcset.replace(new RegExp("66.","g"), "");
});
Работает, если ввести его в консоли. Но только для картинки в ленте, которая сейчас видима на экране и для следующей за ней. А если скроллить ниже, то там уже адреса изображений остаются без изменений. Через Tampermonkey не работает. Как сделать, чтобы работал - непонятно. Порекомендовали использовать вот такую обёртку:
document.addEventListener('DOMContentLoaded', function(){
let links = document.querySelectorAll('img');
links.forEach(element => {
let srcset = element.srcset;
element.srcset = srcset.replace(new RegExp("66.","g"), "");
});
});
Но с ней не работает ни в Tampermonkey ни даже в консоли.
upd:
Вопрос решён. В Tampermonkey всё заработало, когда заменила адрес сайта в директиве вверху с https://www.tumblr.com/dashboard на https://www.tumblr.com/*. Изменение адресов подгружаемых картинок посоветовали сделать за счёт отслеживания события прокрутки. Вот такой у меня получился конечный вариант, который работает в Tampermonkey:
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.tumblr.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
function changeSrc() {
let links = document.querySelectorAll('img');
links.forEach(element => {
let srcset = element.srcset;
element.srcset = srcset.replace(new RegExp("66.media","g"), "media");
});
}
window.onload = function() {
changeSrc();
};
window.addEventListener('scroll', function() {
changeSrc();
});
console.log('Working');
})();
Всем спасибо.