Javascript: достижение эффекта Google Ad AJAX - PullRequest
1 голос
/ 04 апреля 2009

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

Я знаю, что у AJAX есть проблема с несколькими сайтами, но кажется, что реклама Google каким-то образом управляет эффектом кросс-браузерным / межсайтовым способом.

Зная, что я должен дать людям простой фрагмент «вырезать / вставить» для размещения на их веб-сайте ... как я могу этого добиться? Как появился гугл?

Ответы [ 5 ]

2 голосов
/ 04 апреля 2009

Они используют <iframe>, поэтому реклама подается со своего сервера и может общаться с базой данных. На самом деле я не уверен, что они используют какой-либо AJAX из своих объявлений; они выглядят в основном статическим контентом, с несколькими скриптами для настройки форматирования (которые являются необязательными, поскольку они хотят, чтобы их реклама была видимой, даже если у пользователей отключен JS).

Помните, вы всегда можете посмотреть на это самостоятельно и посмотреть, что они сделали. В Firefox используйте Firebug для изучения HTML, CSS и сценариев на сайте. В браузерах на основе WebKit (Safari, Chrome и др.) Вы можете использовать Web Inspector .

1 голос
/ 04 апреля 2009

Рекламный код Google загружается с помощью тега script, который вызывает удаленный файл javascript. Ограничения AJAX, которые обычно применяются с xmlhttp, iframe и аналогичными запросами AJAX, не применяются при загрузке удаленных файлов JavaScript.

После того, как вы загрузили файл javascript, вы можете создавать на своей странице iframes, которые ссылаются на фактический размещенный контент на вашем сервере (и передавать им любые данные о текущей странице, которую вы хотите).

0 голосов
/ 07 мая 2010

Я понимаю, что этому вопросу уже год, но я написал библиотеку, которая может помочь с document.write частью проблемы (не знаю, является ли это нарушением TOS) writeCapture. JS . Все довольно просто:

$('#ads').writeCapture().html('<script src="whatever-your-adsense-code-is"> </script>');

В примере используется jQuery, но вы также можете использовать его автономно.

0 голосов
/ 04 апреля 2009

Вам не нужны iFrames и вам не нужен AJAX. Это действительно очень просто!

Вы извлекаете удаленный файл JS, который на самом деле является созданным файлом из php / asp / what. В вашем JS-файле у вас есть скрипт document.write, который записывает содержимое. Это так просто.

Мы делаем это все время с носителями, хранящимися на отдельных сайтах. Вот пример.

ВАШ СЕРВЕР: file.php (который выводит js)

<script>
document.write("I'm on a remote server");
</script>

ДРУГОЙ САЙТ:

<script src='http://www.yourserver.com/file.php'></script>

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

0 голосов
/ 04 апреля 2009

jQuery имеет встроенную поддержку jsonp в своих вызовах ajax. Возможно, вы захотите использовать его, если вам действительно нужно использовать ajax.

http://api.jquery.com/

http://docs.jquery.com/Ajax

...