160 votes

Recharger un iframe avec jQuery

J'ai deux iframes sur une page et l'un apporte des modifications à l'autre mais l'autre iframe n'indique pas le changement jusqu'à ce que je le rafraîchit .... existe-t-il un moyen facile d'actualiser cet iframe avec jQuery

 <div class="project">
  <iframe id="currentElement" class="myframe" name="myframe" src="http://somesite.com/something/new"></iframe>
</div>
 

242voto

Šime Vidas Points 59994
$( '#iframe' ).attr( 'src', function ( i, val ) { return val; });

181voto

Alex Points 21247

Si l'iframe n'était pas dans un domaine différent, vous pourriez faire quelque chose comme ceci:

document.getElementById(FrameID).contentDocument.location.reload(true);

Mais depuis l'iframe est sur un autre domaine, vous vous verrez refuser l'accès à l'iframe de l' contentDocument de la propriété par la même la politique de l'origine.

Mais vous pouvez hackishly de la force de la croix-domaine de l'iframe de recharger si votre code est en cours d'exécution sur l'iframe de la page parent, par la valeur de l'attribut src pour lui-même. Comme ceci:

// hackishly force iframe to reload
var iframe = document.getElementById(FrameId);
iframe.src = iframe.src;

Si vous essayez de recharger l'iframe à partir d'un autre iframe, vous êtes hors de la chance, c' est pas possible.

59voto

ynh Points 1086

vous pouvez également utiliser jquery. C'est la même chose qu'Alex a proposé en utilisant simplement JQuery:

  $('#currentElement').attr("src", $('#currentElement').attr("src"));
 

11voto

elin3t Points 568

avec jquery vous pouvez utiliser ceci:

$ ('# iframeid', window.parent.document) .attr ('src', $ ('# iframeid', window.parent.document) .attr ('src'));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X