Я запустил руководство по игре на PrimaGames.com. С текстом все в порядке, но изображения обанкротились. Вот пример:

<img src="/media/files/eguide_assets/final-fantasy-xii-the-zodiac-age-eguide/085-105_walkthrough-web-resources/image/wi01.png/PRIMAP/resize/700x-1>">  

В конце URL-адреса src вы увидите эту странную строку:
/ PRIMAP / resize / 700x-1 & Gt ;

Я желая настроить скрипт (Stylish, Tampermonkey и т. д.), я могу обратиться к PrimaGames.com, чтобы он автоматически удалял ту часть URL-адреса src, которая, в свою очередь, отображает соответствующее изображение.

Bookmarklet?

javascript:(function() { [...document.images].forEach(img => { 
  let src = img.src.split("/PRIMAP"); 
  if (src.length >=2) img.src=src[0] })})()

Это довольно стандартная задача по переписыванию src.

Вот полный скрипт Tampermonkey / Violentmonkey , который должен работать на этом сайте для статических и динамических изображений :

// ==UserScript==
// @name     _Remove post file junk from image sources
// @match    *://primagames.com/*
// @noframes
// @require  https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// @grant    GM.getValue
// ==/UserScript==
// @grant    none
//- The @grant directives are needed to restore the proper sandbox.
/* global waitForKeyElements */

waitForKeyElements ("img", fixImgSource);

function fixImgSource (jNode) {
    var oldSrc = jNode.attr ("src");
    //-- Does the src have junk after the file suffix?
    if (/.(png|jpg|gif)./i.test (oldSrc) ) {
        let newSrc = oldSrc.replace (/.(png|jpg|gif). $/i, ".$1");
        jNode.attr ("src", newSrc);
    }
}

Вам нужно будет найти индекс, где заканчивается фактическое изображение и создать подстроку до этого индекса.

function removeTag(image) {
    var src = image.src.toString();
    var imgFormats = ['jpg', 'jpeg', 'gif', 'png'];
    var idx;
    imgFormats.forEach(fmt => {
        if (src.lastIndexOf(fmt) > -1) {
            idx = src.lastIndexOf(fmt)   fmt.length;
        }
    })
    if (typeof idx !== 'undefined') {
        image.src = src.substr(0, idx   1);
    }
}

Если вы знаете, что каждая дополнительная строка будет начинаться с ‘/ PRIMAP’, тогда вы можете использовать решение, описанное выше.

Ashwin Saxena

является новым участником этого сайта. Будьте внимательны, прося разъяснений, комментариев и ответов. Проверьте наш

Кодекс поведения

.