在 jquery-ui 对话框中包含 OpenX 广告?

发布于 2024-08-28 08:00:09 字数 590 浏览 7 评论 0原文

我正在通过 .ajax 将一些内容加载到 jquery-ui 对话框中。一切正常,但现在我收到了一个 OpenX 广告,可以嵌入到对话框中。不知道该怎么做。我知道通过 ajax 输入时所有脚本都会被删除,&我知道如何使用 $.getScript 加载 .js 文件以在对话框中使用,但我获得的 OpenX 广告脚本使用 document.write,因此我认为它期望内联嵌入到页面上的所需位置。< br> 我尝试将转义脚本字符串附加到主要内容的 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 不太好,非常感谢任何帮助!另外,如果您想查看任何其他代码。

I'm loading some content into a jquery-ui dialog via .ajax. That's all working fine but now I've been given an OpenX ad to embed into the dialog & can't figure out how to do it. I know all the script is stripped when coming in via ajax, & I know how to use $.getScript to load .js files for use in the dialog, but the OpenX ad script I've got uses document.write so I think it's expecting to be embedded inline into the desired position on the page.
I've tried appending the escaped script string into the div on ajax success of the main content as below, but this results in the page being redirected to a page with just the ad on it.
Attempt shown below:

$("#" + 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

I'm ok with jquery but not great with javascript, would really appreciate any help! Also if you want to see any other code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

欢烬 2024-09-04 08:00:09

当然这个问题很久以前就被问过;然而,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 文件。

Certainly this question was asked quite some time ago; however, the openX ajs.php file returns a document.write() function. If you use jQuery's $(document).ready() class method, it will overwrite your current page.

document.write() will only correctly execute (without overwriting your current page) if it is called during the page load procedure.

There's two ways to overcome this obstacle, and that would entail using AJAX (if your openX server is on the same URL domain as your website, or if you have server side scripting such as PHP, ASP, etc) or JSONP (if your openX server is on a different domain).

You'll have to setup a server side script with PHP, ASP, etc to have your jQuery call using AJAX/JSONP and have that server script load in the URL and return the contents of the document.write() function that the ajs.php file returns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文