Включить объявление OpenX в диалоге jquery-ui? - PullRequest
2 голосов
/ 08 апреля 2010

Я загружаю некоторый контент в диалог jquery-ui через .ajax.Это все работает нормально, но теперь я получил объявление OpenX для встраивания в диалог и не могу понять, как это сделать.Я знаю, что весь сценарий убирается при входе через ajax, и я знаю, как использовать $ .getScript для загрузки файлов .js для использования в диалоге, но полученный мной рекламный скрипт OpenX использует document.write, поэтому я думаю, что этоожидая, что они будут встроены в нужную позицию на странице.
Я попытался добавить экранированную строку сценария в div при успешном выполнении ajax основного содержимого, как показано ниже, но это приводит к тому, что страница перенаправляется на страницу спросто объявление на нем.Попытка показана ниже:

$("#" + idHelpPage).find(".adScript").append("<script type='text/javascript'>var m3_u = (location.protocol=='https:'?'https://d1.openx.org/ajs.php':'http://d1.openx.org/ajs.php');var m3_r = ... etc etc

Я в порядке с jquery, но не очень хорошо с javascript, буду очень признателен за любую помощь!Также, если вы хотите увидеть любой другой код.

1 Ответ

3 голосов
/ 22 ноября 2010

Конечно, этот вопрос был задан довольно давно; однако файл openX ajs.php возвращает функцию document.write (). Если вы используете метод класса jQuery $ (document) .ready (), он перезапишет вашу текущую страницу.

document.write () будет корректно выполняться (без перезаписи текущей страницы), если он вызывается во время процедуры загрузки страницы.

Есть два способа преодолеть это препятствие, и это повлечет за собой использование AJAX (если ваш сервер openX находится в том же домене URL, что и ваш веб-сайт, или если у вас есть серверные сценарии, такие как PHP, ASP и т. Д.) Или JSONP ( если ваш сервер openX находится в другом домене).

Вам нужно будет настроить серверный скрипт с PHP, ASP и т. Д., Чтобы ваш вызов jQuery использовал AJAX / JSONP, чтобы этот серверный скрипт загружался в URL и возвращал содержимое функции document.write (), которая файл ajs.php возвращается.

...