My Ouaibe - jquery + thickbox + google maps API - CommentairesMyouaibe mon p'tit blog plaisir en rapport avec la micro-info ou plus exactement mon fourre tout informatique...2024-03-29T13:16:44+01:00urn:md5:284aa9432d84bc9927bc35a7fe2063a5Dotclearjquery + thickbox + google maps API - neby55urn:md5:4a051a93280a268fbc612a5ab19969be2008-08-31T17:18:45+02:002008-08-31T16:18:45+02:00neby55<p>Le problème vient en fait de la gestion du "onLoad". En effet, l'iframe est lancée et "loadée" de façon cachée avant d'être affichée par la suite via la fonction "tb_showIframe()".</p>
<p>Google map ne se cale donc pas proprement dans une iframe chargée ainsi.</p>
<p>La solution que j'ai trouvée consiste au rajout d'une variable "randomId" correspondant au random utilisé pour l'attribut name de l'iframe affichée.<br />
var randomid = Math.round(Math.random()*1000);</p>
<p>Ensuite, on doit modifier l'attribut name des iframes créées via thickbox.js.</p>
<p>Enfin, il suffit de lancer une fonction "onLoad()" (si elle existe) dans cette iframe. Voici la fonction tb_showIframe() réécrite :<br />
//helper functions below<br />
function tb_showIframe(){<br />
$("#TB_load").remove();<br />
$("#TB_window").css({display:"block"});<br />
<br />
if (eval('typeof TB_iframeContent'+randomid+'.onLoad!="undefined"')) // if function exists<br />
eval('TB_iframeContent'+randomid+'.onLoad()');<br />
}</p>