Рендеринг рекламы в iFrame с последующим перемещением в главное окно - PullRequest
0 голосов
/ 17 июня 2011

У меня есть набор объявлений, написанных document.write, потому что это единственное, что будет делать рекламный сервер.

Я видел, как другие сайты перезагружают рекламу на странице, если пользователь сидит там.какое-то время (что-то, что я могу захотеть сделать в будущем).Поэтому я поиграл с загрузкой рекламы в iFrame, а затем переместил ее в главное окно.Это, казалось, работало довольно хорошо, пока не показывалось объявление Google, которое само по себе находится в iframe внутри iframe.Можно ли их правильно вытащить / переместить рекламу Google по всей странице?

Это то, что у меня есть в настоящее время, и это работает для всего, кроме рекламы iframed в пределах iframe.

$().ready(function(){
    $('#iframe').load(function(){
        var middle_ad_contents = $('#iframe').contents().find('#middle_ad').html();
        $('#ad_middle').html(middle_ad_contents);
    });
});

[править]

После дальнейшего расследования ... похоже, что перезагрузка объявлений Google может противоречить условиям обслуживания, возможно, я не должен этого делать?

[править 2]

Перезагрузка всей страницы на самом деле не вариант (и некий ход движения).

Смысл состоял в том, чтобы, возможно, повернуть рекламу,но еще больше, чтобы они не блокировали загрузку страницы, потому что adserver X, который обслуживается через adserver Y, который обслуживается через adserver Z, работает медленно / не отвечает.Казалось бы, iframe - лучшее решение, потому что тогда я могу отложить document.writes, которые имеют глубину 2 или 3 уровня, до конца страницы без их удаления всей страницы как document.write после загрузки страницы === document.replaceTheWholeDOM.Существует также возможность монетизации контента ajaxy / other iframed ( shudder ) с помощью этого метода.

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Лучший способ сделать это, вероятно, использовать замену document.write. Есть несколько вариантов на выбор, но вот один: https://github.com/eligrey/async-document-write

Это заменит глобальную функцию document.write на функцию, которую можно использовать даже после загрузки страницы.

0 голосов
/ 17 июня 2011

Это может не только противоречить условиям обслуживания, но и снизить ценность рекламы для рекламодателя и создать неуклюжий элемент в пользовательском интерфейсе.

Подумайте об этом с точки зрения пользовательского интерфейса ... вы находитесь на сайте, концентрируясь на чем-то, затем все мигает.Ваше внимание идет от того, на чем вы концентрировались, чтобы выяснить, что только что произошло.Не берите в голову, только щелчок баннера.Дальше ..... сейчас, где я был?

Для рекламодателя, что если вы заметите объявление и собираетесь нажать на него и БУМ, оно изменится.И что теперь, ты можешь вернуться?Если нет, вы просто потеряли доход.Пользователи тратят секунды на многих страницах, поэтому, если у вас не получится невероятно «липкий» веб-сайт, сколько рекламы действительно получит рекламодатель?Помните, что Google поощряет сайты AdWord за переходы по ссылкам, не основанные на показанном объеме, которые действительно могут повредить вашему CTR.

Если вы полны решимости сделать это, я думаю, что я бы подумал о том, чтобы атаковать его с помощью рекламного сервера.отправляйте сообщения напрямую, как это и предполагалось, в dom, затем используйте таймер на основе javascript для асинхронного пинга по серверу рекламы и снова скажите ему перерисовать нужный div.Я бы избегал iFrames, таких как чума, потому что они просто не дружат в эпоху простых манипуляций с Dom.

Или вы можете просто воспользоваться подходом MSNBC и перезагружать всю страницу каждые X минут.Это ужасный шаблон пользовательского интерфейса, но он достиг бы вашей цели и, вероятно, изогнул (но не сломал) TOS.

...