我正在通过.ajax将一些内容加载到jquery-ui对话框中。一切都很好,但是现在我收到了要嵌入到对话框中的OpenX广告,却不知道该怎么做。我知道通过ajax进入时所有脚本都会被剥离,并且我知道如何使用$ .getScript加载.js文件以在对话框中使用,但是我拥有的OpenX广告脚本使用document.write,所以我认为期望以内嵌方式嵌入到页面上的所需位置。
我已经尝试在主要内容的ajax成功时将转义的脚本字符串附加到div中,如下所示,但是这导致页面被重定向到仅包含广告的页面。
尝试如下所示:
$("#" + 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不太满意,非常感谢任何帮助!另外,如果您想查看其他任何代码。
最佳答案
当然,这个问题早已问过了。但是,openX ajs.php文件返回document.write()函数。如果使用jQuery的$(document).ready()类方法,它将覆盖当前页面。
如果在页面加载过程中调用document.write(),它将仅正确执行(不覆盖当前页面)。
有两种方法可以克服此障碍,这需要使用AJAX(如果您的openX服务器与您的网站位于同一URL域,或者您具有服务器端脚本(例如PHP,ASP等))或JSONP(如果您的openX服务器在其他域上)。
您必须使用PHP,ASP等设置服务器端脚本,才能使用AJAX / JSONP进行jQuery调用,并将该服务器脚本加载到URL中并返回ajs的document.write()函数的内容。 php文件返回。