2010-04-08 9 views
2

Je charge du contenu dans une boîte de dialogue jquery-ui via .ajax. Tout cela fonctionne très bien, mais maintenant on m'a donné une annonce OpenX à intégrer dans la boîte de dialogue & ne peut pas comprendre comment le faire. Je sais que tout le script est effacé en entrant via ajax, & Je sais comment utiliser $ .getScript pour charger les fichiers .js à utiliser dans la boîte de dialogue, mais le script d'annonce OpenX que j'ai utilise utilise document.write donc je pense que c'est s'attendant à être incorporé en ligne dans la position désirée sur la page.
J'ai essayé d'ajouter la chaîne de script échappée dans le succès div sur ajax du contenu principal comme ci-dessous, mais cela entraîne la redirection de la page vers une page avec juste l'annonce dessus. tentative ci-dessous:Inclure l'annonce OpenX dans une boîte de dialogue jquery-ui?

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

Je suis ok avec jquery mais pas très bien avec javascript, apprécierais vraiment toute aide! Aussi, si vous voulez voir un autre code.

Répondre

3

Certes, cette question a été posée il y a un certain temps; cependant, le fichier openX ajs.php renvoie une fonction document.write(). Si vous utilisez la méthode de classe $ (document) .ready() de jQuery, elle écrasera votre page actuelle. Document.write() s'exécutera correctement (sans écraser votre page actuelle) s'il est appelé pendant la procédure de chargement de la page. Il y a deux façons de surmonter cet obstacle, et cela impliquerait d'utiliser AJAX (si votre serveur openX est sur le même domaine URL que votre site web, ou si vous avez des scripts côté serveur tels que PHP, ASP, etc.) ou JSONP (si votre serveur openX est sur un domaine différent). Vous devrez configurer un script côté serveur avec PHP, ASP, etc. pour que votre appel jQuery utilise AJAX/JSONP et que ce script serveur soit chargé dans l'URL et renvoie le contenu de la fonction document.write() que le fichier ajs.php retourne.

+0

Merci Steve. Nous sommes passés de cette exigence à la fin, le dialogue n'était pas bon pour le travail, de sorte que les choses simplifiées. – planetClaire

Questions connexes