Запрет jQuery для загрузки изображений после ajax-вызова - PullRequest
0 голосов
/ 20 мая 2019

У меня есть ajax-вызов, который запрашивает html из локального php-файла прокси.Этот прокси-сервер загружает html с внешнего сервера и возвращает его, где html анализируется с помощью jQuery.

$.ajax({
    type: 'POST',
    url: 'proxy.php',
    data: {
        goal: 'get',
        url: url
    },
    success: function(page) {

        let p = $(page),
            h1 = p.find('h1');

        //some code

        //<-- problem begins

    },
    error: function(response) {
        console.error(response);
    }
});

После выполнения некоторого кода он выдает в консоль браузера много ошибок 404, пытаясь загрузить некоторые внешние образы, что приводит к высокой загрузке процессора.На самом деле эти изображения мне вообще не нужны, мне просто нужен простой HTML.

Я пробовал эти методы, чтобы освободить часть памяти, но это было бесполезно:

p.remove();
p = undefined;

Как предотвратитьзагрузка изображений или возможно удаление переменной после ее использования?

1 Ответ

0 голосов
/ 21 мая 2019

После нескольких минут исследования я нашел это решение и написал простую функцию для очистки и хранения атрибута src:

cleanAndStoreSrc: function(html) {

    let h = $(html);

    h.find('img').each(function (ind, el) {
        let t = $(this),
            src = t.attr('src');
        t
        .attr('src-reserved', src)
        .removeAttr('src');
    });

    return h;

}

Если будет опубликовано более эффективное или элегантное решение, я приму его в качестве ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...