Как определить, виден ли элемент внутри iframe, который находится в родительском домене - PullRequest
7 голосов
/ 02 апреля 2012

Так же, как говорится в вопросе, у меня есть iframe, который находится в родительском домене.Мне нужно вызвать событие, если этот контент прокручивается в поле зрения или уже просматривается при загрузке страницы.Нормальные проверки расстояния от верхней / боковой части страницы и высоты / ширины области просмотра не работают, так как они измеряют страницу внутри самого iframe.

Я не могу ничего редактировать / добавлять на родительской странице, чтобы включить эту функциюфункциональность, все должно быть внутри самого iframe.

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

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

Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Два примера компаний, о которых я говорил, которые предлагают эту услугу.

  1. Просмотреть первый тик в (4) http://www.doubleverify.com/what-is-verification/
  2. Первое, что онизаявить, что они могут сделать на правой стороне http://adxpose.com/home.page

Ответы [ 4 ]

5 голосов
/ 29 октября 2014

spider.io делает это, вероятно, с помощью временных атак браузера.на их странице есть видео:

http://www.spider.io/viewability/

. Вот хороший отчет о том, как работают некоторые браузерные атаки: http://www.contextis.com/documents/2/Browser_Timing_Attacks.pdf

1 голос
/ 02 апреля 2012

Простой ответ: Вы не можете .

Вы не можете получить доступ к междоменному домену iframe (DOM или window object) с помощью ECMAscript из-за единой политики происхождения.

0 голосов
/ 10 января 2013

doubleverify и adxpose используют "автономные" методы, чтобы определить, было ли объявление видимым или нет, оно не происходит при просмотре страницы. Если бы они делали это через Javascript, все, что вам нужно было бы сделать, это взглянуть на один из их пикселей, чтобы увидеть, как он работает.

0 голосов
/ 02 апреля 2012

Вы уверены, что эти примеры основаны исключительно на iframe?Возможно, им нужно добавить некоторый javascript в родительское окно.

Если вам это действительно нужно, и 100% точность не требуется, я бы попробовал некоторые методы, основанные на времени, исходя из предположения, что большинство браузеров оптимизируют графическую работу.вне поля зрения.

Будучи реалистичным, я не думаю, что было бы возможно получить хорошие результаты с этими методами в разумные сроки или ожидать общего надежного кросс-браузерного решения.Это было бы довольно весело, хотя.

...