Accéder et modifier la page parent de iframe (avec jquery)

Existe-t-il une façon d'accéder de l'iframe à la page parrent (et changer la page parrent)?

<body> <iframe src="frame1.html" name="frame1" height="100%"></iframe> <div id="test1"></div> </body> 

Dans frame1.html est <a href=..> et je veux ajouter du texte " <h1>clicked</h1> " dans <div id="test1"></div> , lorsque <a href..> A été cliqué.

Merci.

Si votre page enfant (frame1.html) se trouve dans le même domaine que la page parent, vous pouvez écrire un code comme ci-dessous dans la fenêtre enfant:

  $('#test1', parent.document).html('<h1>clicked</h1>'); 

Le deuxième paramètre fournit le context dans lequel rechercher l'élément correspondant au premier paramètre. Le document est ici: http://api.jquery.com/jQuery/#jQuery-selector-context

  jQuery( selector [, context ] ) 

Donc, votre code (frame1.html) pourrait être comme ceci:

  <a href="..." onclick="$('#test1', parent.document).html('<h1>clicked</h1>');">click me</a> 

J'espère que cela t'aides.

Remarque importante: l' accès aux iframes d'entrée et de sortie n'est possible que si les deux, le parent et l'iframe proviennent du même domaine, sinon vous n'avez aucun accès en raison de la même politique d'origine .

Notez que les deux parties ont leur propre document. L'accès à l'objet parent à partir d'iframe est simple avec

 parent.document 

Et de parent est l'une des suivantes:

 window.frames['iframeName'] (window.frames.length /*gives you the number of iframes in your document*/ ) 

Ou renvoyez-le avec identifiant et faites ce qui suit (attention au soutien!)

 var iframe = document.getElementById('iframe'); var doc = iframe.contentDocument? iframe.contentDocument:iframe.contentWindow.document; 

Le code ci-dessous devrait fonctionner correctement:

 $(parent.document).find("#selector"); 

Le sélecteur provient du document parent pour effectuer une action. Par exemple:

 $(parent.document).find("#selector").remove();