2010-04-08 58 views
2

我正在通過.ajax將一些內容加載到jquery-ui對話框中。這一切都工作正常,但現在我已經給了一個OpenX廣告嵌入對話框&無法弄清楚如何做到這一點。我知道所有腳本在通過ajax進入時都被剝離了,&我知道如何使用$ .getScript加載用於對話框的.js文件,但我使用的OpenX廣告腳本使用document.write,所以我認爲它是希望嵌入到頁面上的所需位置。
我試過在下面的主要內容的ajax成功上將轉義的腳本字符串附加到div上,但是這會導致頁面被重定向到只有廣告的頁面。如下圖所示 嘗試:在jquery-ui對話框中包含OpenX廣告?

$("#" + 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很大,會很感激任何幫助!另外如果你想看到任何其他代碼。

回答

3

當然這個問題在很久以前就被問到了;然而,openX ajs.php文件返回一個document.write()函數。如果您使用jQuery的$(document).ready()類方法,它將覆蓋當前頁面。

如果在頁面加載過程中調用document.write(),它將只能正確執行(不會覆蓋當前頁面)。如果您的openX服務器與您的網站位於同一個URL域,或者您的服務器端腳本如PHP,ASP等)或JSONP (如果你的openX服務器位於不同的域)。

您必須設置一個服務器端腳本,使用PHP,ASP等來使用AJAX/JSONP進行jQuery調用,並將該服務器腳本加載到URL中並返回document.write()函數的內容ajs.php文件返回。

+0

謝謝史蒂夫。我們最終從這個要求開始,對話不適合工作,所以簡化了一些事情。 – planetClaire 2010-11-23 04:14:14