代码之家  ›  专栏  ›  技术社区  ›  planetClaire

在jqueryui对话框中包含OpenX广告?

  •  2
  • planetClaire  · 技术社区  · 16 年前

    我正在通过.ajax将一些内容加载到jqueryui对话框中。这一切工作正常,但现在我已经得到了一个OpenX广告嵌入到对话框&不知道怎么做。我知道当通过ajax进入时,所有的脚本都被剥离了;我知道如何使用$.getScript加载对话框中使用的.js文件,但是我得到的OpenX ad脚本使用document.write,所以我认为它应该内嵌到页面上所需的位置。

    $("#" + 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 回复  |  直到 16 年前
        1
  •  3
  •   Steve Beger    15 年前

    当然,这个问题是很久以前提过的;但是,openX ajs.php文件返回一个document.write()函数。如果使用jQuery的$(document).ready()类方法,它将覆盖当前页。

    document.write()只有在页面加载过程中被调用时才会正确执行(不会覆盖当前页面)。

    有两种方法可以克服这个障碍,这需要使用AJAX(如果您的openX服务器与您的网站位于同一URL域,或者如果您有服务器端脚本,如PHP、ASP等)或JSONP(如果您的openX服务器位于不同的域)。

    必须使用PHP、ASP等设置服务器端脚本,才能使用AJAX/JSONP调用jQuery,并将服务器脚本加载到URL中,并返回ajs.PHP文件返回的document.write()函数的内容。