Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отследить загрузку сторонних изображений (https://javascript.ru/forum/events/56979-otsledit-zagruzku-storonnikh-izobrazhenijj.html)

alexey_samara 13.07.2015 15:15

Отследить загрузку сторонних изображений
 
Всем привет!

Интересует такой момент. Есть на сайте виджет, который собирает всякие данные и отправляет их на свой сервер путём загрузки однопиксельной картинки, которая грузится вот так:

(new Image).src = "//" + domain + "/?" + qs.join("&")


Вопрос - как отследить загрузку таких изображений?

Пытался повесить событие, типа такого:
$(document).on('load', 'img', function (e) {
  console.log(e);
});


Но, естесственно, оно не срабатывает.
Получается вариантов нет? Или что-то можно придумать?

p.s. Код виджета переопределить нельзя - он полностью в замыкании с локальными переменными.

Deff 13.07.2015 16:28

alexey_samara, отследить добавку нового элемента на страницу и протестировать на картинка или нет
https://developer.mozilla.org/en-US/...tationObserver

alexey_samara 13.07.2015 16:42

Дак в том-то и дело, что в DOM оно не добавляется. Если б добавлялся - вопроса бы не стояло :)

Сервису достаточно, чтобы просто загрузился урл, а на стороне своего сервера они из этого урл и вытаскивают нужные себе данные.

Deff 13.07.2015 16:45

alexey_samara,
1. Ну тады тестить страницу на стороне сервера перед отдачей
2. Попробовать воткнуть данный код Виджета в отдельный фрейм с иным доменом, пусть сидит изолированно

alexey_samara 13.07.2015 17:12

В общем, решения нет)

> Попробовать воткнуть данный код Виджета в отдельный фрейм с иным доменом, пусть сидит изолированно
не, задача другая. Пусть себе шлёт запросы, в этом смысл. Задача просто перехватить то, что он шлёт, чтобы засунуть эти данные в свою систему аналитики.

> Ну тады тестить страницу на стороне сервера перед отдачей
Ммм.. не вижу связи) Виджет-то сторонний. И грузится он со стороннего сервера. upd. Это ж javascript обычный, код - клиентский. И к моему серверу-то он никакого отношения не имеет.

Deff 13.07.2015 18:13

Цитата:

Сообщение от alexey_samara
> Ну тады тестить страницу на стороне сервера перед отдачей
Ммм.. не вижу связи) Виджет-то сторонний. И грузится он со стороннего сервера. upd. Это ж javascript обычный, код - клиентский. И к моему серверу-то он никакого отношения не имеет.

Дык подставить свой скрипт с заменой ссылок в скрипте-исходнике на свои и проксировать отправляемые картинкой данные( со своим дублированием к себе)

kostyanet 13.07.2015 19:57

Цитата:

Сообщение от alexey_samara
Код виджета переопределить нельзя - он полностью в замыкании с локальными переменными.

Можно, если скачать его с того сервера, отредактировать и положить как файл на свой сервер и загружать обычным путем без затычки-загрузчика. То есть да, хардкод. По-другому... ну если только жаба умеет заголовки ловить.


Часовой пояс GMT +3, время: 14:03.