vbulletin, ajax, google adsense

iSlayter

Новичок
vbulletin, ajax, google adsense

Был форум на VBulletin'е.

Решили поставить туда AdSense в первом посте.

В чём проблема? Пока ни в чем. Всё отлично показывается. Но!

В случае быстрого ответа (всё на аяксе происходит) вываливается белая страница и JS ошибка "window.google_render_ad is not a function".

Посмотрел в ответ с сервера - бааа! да там ведь этот, ёптыть! Код js! Который, сцуко, исполнился! и всему настал кирдык.

собственно вот чего я сообразил по этому поводу:
PHP:
var googleJsUrl = '<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>';

function $$(id) {
   return document.getElementById(id);
}

function loadAdsense() {
   loadCfg('googleAdSense1', 'pub-8******048082252', 5*********, 468, 60);
   $$('googleAdSense1').innerHTML = googleJsUrl;

   loadCfg('googleAdSense2', 'pub-8******048082252', 5*********, 468, 60);
   $$('googleAdSense2').innerHTML = googleJsUrl;
}

function loadCfg(id, client, slot_id, width, height) {
   if (document.getElementById(id)) {
        $$(id).innerHTML = '<script type="text/javascript">google_ad_client = "' +  client + '";
google_ad_slot = "' + slot_id + '";google_ad_width = ' + width + ';google_ad_height = ' + height + ';</script>';
   }
}
Т.е. таким образом оно будет в первом посте (туда div с id нужным добавили) и где угодно ещё, но только тогда, когда понадобится. а не вообще везде.

так вот каким образом заставить исполниться то, что попадает в innerHTML?
 

MiRacLe

просто Чудо
не вдаваясь в подробности: show_ads использует document.write в своих личных коварных целях.
 
Сверху