J'essaie d'utiliser jsonp pour résoudre un problème de performance de page que j'ai eu. Sur mon site, j'affiche généralement des annonces en écrivant un tag de script comme celui-ci document.write("<scr" + "ipt src='advendor.com\myad.php'></scr" + "ipt>");
. Tout ceci est bien, sauf que les sites sur lesquels les tags de script pointent ont la mauvaise habitude d'être très lents. Donc, quand j'ai une page avec 5 annonces sur elle, il peut contenir mes pages entières en raison du blocage des requêtes synchrones. Donc, mon idée était de faire un appel JSONP au service de publicité qui va me donner la balise de script qui doit être écrite sur la page. Le problème est que j'obtiens la balise <script>
sur la page mais, la balise de script ne fait rien. Le script ne fonctionnera-t-il que s'il est écrit avant document.ready? Actuellement, nous avons notre code côté serveur qui appelle un système de diffusion d'annonces afin qu'il détermine quel code d'annonce je reçois côté serveur (dans ce cas, une balise de script avec un "src =" qui pointe vers le site des fournisseurs, qui génère l'annonce et le suivi réels). Ce que j'essaye de faire est d'arrêter les appels d'annonce de bloquer le chargement de mon contenu. Donc, je veux d'abord le contenu, puis toutes les annonces. Mettre les balises de script au bas de la page n'est pas une solution acceptable car je dois déterminer où les annonces apparaissent sur la page. IE, <div id="adOneHere"><script src="vendorssite.com"></script></div>
, je peux avoir jusqu'à cinq de ces appels d'annonce sur une page. Chacun a ses propres images/suivi/etc ...Comment utiliser jsonp pour obtenir des appels d'annonces basés sur javascript sur une page, de façon asynchrone
Mon problème est similaire à celui adressé here, sauf que j'ai besoin d'obtenir le "script" tag d'un serveur centralisé à partir de plusieurs domaines, et je dois faire le document.write à l'intérieur d'un élément dom spécifique, je suis bien versé dans jQuery si cela aide.
Le service d'annonces prend-il en charge JSONP? – alex
Je l'ai écrit donc si cela est nécessaire pour cela j'ajouterai cette fonctionnalité –