Je veux charger une page javascript externe après la charge. En fait, le JavaScript contient une source pour une annonce et sa charge de page de fabrication lente. Tout ce que je veux, c'est retarder le chargement et l'exécution des annonces pour vous assurer que la charge rapide de la page. P>
merci, Bilal P>
5 Réponses :
Je regarderais avec le chargement javascript asynchrone. Il existe des cadres pour cela, tels que ExigenceJs . P>
var script=document.createElement('script'); script.type='text/javascript'; script.src=url; $("body").append(script); Courtsey
Il n'est pas nécessaire d'utiliser JQuery à ce stade. document.body.appendchild (script); code>
Cela ne montrera pas des annonces chargées par le script externe.
Le script ne devient pas immédiatement disponible (à l'aide des approches de jQuery et de non-JQuery), ce n'est donc pas une solution universelle. Vous devez soit utiliser une bibliothèque comme ASYNC ou utiliser la méthode du guyage JQuery avec une promesse (voir ci-dessous).
Vous pouvez simplement utiliser ce script à la dernière balise de votre bloc de corps:
<script type="text/javascript"> var script = document.createElement('script'); script.setAttribute('src', 'http://yourdomian.com/your_script.js'); script.setAttribute('type', 'text/javascript'); document.getElementsByTagName('head')[0].appendChild(script); </script>
Cela ne montrera pas des annonces chargées par le script externe.
Amélioration de la dernière ligne: document.head.appendchild (script) code>
$ ("# sélecteur"). Cliquez sur (Fonction () { $ .Getscript ("yourrscript.js"); }); p>
puis exécutez ce qui est implémenté dans ce script p>
Identique que ci-dessus, ces charges asynchrones pour être stables, vous devez utiliser une bibliothèque de synchronisation ou des promesses par exemple: $ .Getscript (URL) .Chen (fonction () {// ne sera pas appelée tant que le script est effectivement chargé} );
Sans utiliser quelque chose comme JQuery Getcript () et une promesse ou une bibliothèque de chargement appropriée comme EXAMPJS, le script peut être inclus dans la page, mais chargera ASYNC, il n'ya donc aucune garantie qu'il sera prêt lorsque vous en avez besoin. Si vous utilisez déjà JQuery, la réponse simple est alors la suivante:
$.getScript( scriptUrl ).then( function() { //do this ONLY after the script is fully loaded });
Avez-vous essayé de mettre le