Retarder le chargement du script API google map

WRInaute passionné
Bonjour,

Le chargement du script de l'API gg maps est parfois super long à charger. J'aimerais donc qu'il se charge onload et non en même temps que le reste de la page.

Grosso modo, j'aimerais que ceci se charge plus tard :
Code:
<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=xxx"></sc'+'ript>

Voici les deux solutions que j'ai testées :

Code:
window.onload=function() {
/*var head = document.getElementsByTagName("head")[0];
   scriptAdd = document.createElement('script');
   scriptAdd.id = 'ggmap';
   scriptAdd.type = 'text/javascript';
   scriptAdd.src = "http://maps.google.com/maps?file=api&amp;v=2&amp;key=xxx";
   head.appendChild(scriptAdd);
   */
   //document.write('<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=xxx"></sc'+'ript>');
}

ça marche pas..

j'ai aussi essayé la méthode proposée ici https://www.webrankinfo.com/forum/t/execution-de-script-en-fin-de-chargement-de-page.49913/ mais sans succès..

How to do ??

Merci !
 
WRInaute discret
Je suis interessé par le système également, car il est vrai que l'affichage ralenti considérablement celui de l'ensemble de la page.

Sinon, question bète ... on est toujours à la V2 de l'API ?
 
WRInaute impliqué
j'en sais pas si ca a qqch à voir
mais autour de l'url tu as mis des " et non pas des '

bon je propose on sait jamais :)

tu as des erreurs dans la console javascript de firefox ?

--
David
 
WRInaute passionné
bozoleclown a dit:
j'en sais pas si ca a qqch à voir
mais autour de l'url tu as mis des " et non pas des '

bon je propose on sait jamais :)

tu as des erreurs dans la console javascript de firefox ?

--
David
aucune erreur. et non ça ne vient pas de là ;)

et,oui, on est toujours à la V2 ;) mais maintenant on peut faire des itinéraires et tutti cuenti
 
WRInaute discret
RomsIW a dit:
et,oui, on est toujours à la V2 ;) mais maintenant on peut faire des itinéraires et tutti cuenti
Ah !
Tu m'interesses là ... connais tu un site qui utilise les nouvelles fonctions pour voir a quoi ressemble le code.
Ou une info sur le site de GG qui parle de ca.
 
WRInaute passionné
nonel a dit:
RomsIW a dit:
et,oui, on est toujours à la V2 ;) mais maintenant on peut faire des itinéraires et tutti cuenti
Ah !
Tu m'interesses là ... connais tu un site qui utilise les nouvelles fonctions pour voir a quoi ressemble le code.
Ou une info sur le site de GG qui parle de ca.
regarde quelques-un de mes tests :
http://www.g u i d e - s e n s a t i o n s . com/tests/
et sinon l'indétronable
https://www.google.com/apis/maps/documen ... Directions
 
WRInaute accro
Pour répondre à RomsIV :

Si, en utilisant un timer javascript, tu ne chargeais l'api dans ta page qu'après un certain nombre de seconde (assez pour charger le reste de la page quoi), ca ne fonctionnerais pas ?
 
WRInaute passionné
UsagiYojimbo a dit:
Pour répondre à RomsIV :

Si, en utilisant un timer javascript, tu ne chargeais l'api dans ta page qu'après un certain nombre de seconde (assez pour charger le reste de la page quoi), ca ne fonctionnerais pas ?
ben j'aimerais bien. je sais faire un settimeOut (un onload suffirait), mais aux vues de ce que j'ai mis dans mon premier post, je ne sais pas faire une fonction qui fait inclure un fichier JS à un moment donné..
 
WRInaute accro
Et en Ajax ? Une fois ton settimeout arrivé à terme, tu fais une requête http sur une page où tu as placé le code de l'ai et tu l'affectes au innerHTML d'une div présente sur ta page et vierge jusque-là.
 
WRInaute passionné
UsagiYojimbo a dit:
Et en Ajax ? Une fois ton settimeout arrivé à terme, tu fais une requête http sur une page où tu as placé le code de l'ai et tu l'affectes au innerHTML d'une div présente sur ta page et vierge jusque-là.
ça c'est la dernière solution que j'ai testé et j'avais bon espoir mais il bug et ne comprend pas "new GMap2" alors que l'API est appelée dans le même fichier en Ajax. J'ai bien sûr mis comme paramètre Ajax evalScripts:true; et testé des alertes JS pour être sûr que le fichier était bien appelé.. one solution ? ça pourrait marcher s'il trouvait ce GMap2..

tu maitrises bien ajax ?
 
WRInaute accro
RomsIW a dit:
UsagiYojimbo a dit:
Et en Ajax ? Une fois ton settimeout arrivé à terme, tu fais une requête http sur une page où tu as placé le code de l'ai et tu l'affectes au innerHTML d'une div présente sur ta page et vierge jusque-là.
ça c'est la dernière solution que j'ai testé et j'avais bon espoir mais il bug et ne comprend pas "new GMap2" alors que l'API est appelée dans le même fichier en Ajax. J'ai bien sûr mis comme paramètre Ajax evalScripts:true; et testé des alertes JS pour être sûr que le fichier était bien appelé.. one solution ? ça pourrait marcher s'il trouvait ce GMap2..

tu maitrises bien ajax ?

Justement l'API je l'appelerais plutôt dans la page qui va contenir ta map (donc dans la page appelante) , pas dans la page sur laquelle tu fais la requête http.
 
WRInaute passionné
UsagiYojimbo a dit:
RomsIW a dit:
UsagiYojimbo a dit:
Et en Ajax ? Une fois ton settimeout arrivé à terme, tu fais une requête http sur une page où tu as placé le code de l'ai et tu l'affectes au innerHTML d'une div présente sur ta page et vierge jusque-là.
ça c'est la dernière solution que j'ai testé et j'avais bon espoir mais il bug et ne comprend pas "new GMap2" alors que l'API est appelée dans le même fichier en Ajax. J'ai bien sûr mis comme paramètre Ajax evalScripts:true; et testé des alertes JS pour être sûr que le fichier était bien appelé.. one solution ? ça pourrait marcher s'il trouvait ce GMap2..

tu maitrises bien ajax ?

Justement l'API je l'appelerais plutôt dans la page qui va contenir ta map (donc dans la page appelante) , pas dans la page sur laquelle tu fais la requête http.

effectivement, je croyais avoir testé ça mais non. Dans le doute j'ai essayé.. et ça marche ! Merci beaucoup !
 
WRInaute accro
RomsIW a dit:
UsagiYojimbo a dit:
RomsIW a dit:
UsagiYojimbo a dit:
Et en Ajax ? Une fois ton settimeout arrivé à terme, tu fais une requête http sur une page où tu as placé le code de l'ai et tu l'affectes au innerHTML d'une div présente sur ta page et vierge jusque-là.
ça c'est la dernière solution que j'ai testé et j'avais bon espoir mais il bug et ne comprend pas "new GMap2" alors que l'API est appelée dans le même fichier en Ajax. J'ai bien sûr mis comme paramètre Ajax evalScripts:true; et testé des alertes JS pour être sûr que le fichier était bien appelé.. one solution ? ça pourrait marcher s'il trouvait ce GMap2..

tu maitrises bien ajax ?

Justement l'API je l'appelerais plutôt dans la page qui va contenir ta map (donc dans la page appelante) , pas dans la page sur laquelle tu fais la requête http.

effectivement, je croyais avoir testé ça mais non. Dans le doute j'ai essayé.. et ça marche ! Merci beaucoup !

You're welcome
 
WRInaute passionné
euh, en fait, pas du tout résolu ! car c'est justement ce script (<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=xxx"></script>) qui charge des choses au chargement de la page et qui ralentit tout. C'est ce script dont j'aimerais retarder l'inclusion, c'est pour ça que je ne voulais pas le mettre dans ma page..
 
Discussions similaires
Haut