2013-03-18 4 views
0

J'ai des éléments sur ma page parent qui ne change que si iframe caché contient un identifiant div.appeler javascript à partir du fichier js

Tout va bien si je laisse le code à la page html:

<iframe id="myiframe" style="display:none" onload="load()" name="myiframe" src="mysite.com"></iframe> 

JavaScript:

function load(){ 


if (window.frames[0].document.getElementById('applications')) 
{ 
var str=document.getElementById("tst").innerHTML; 
var n=str.replace("Login","Logout");}} 
document.getElementById('tst').href='logout'; 

Mais je besoin d'un code iframe supprimé du fichier html et déplacé js.

J'utilise ce code dans le fichier js pour déclencher iframe:

window.onload = function(){ 
var link = "iframelink" 
var iframe = document.createElement('iframe'); 
iframe.frameBorder=0; 
iframe.width="300px"; 
iframe.height="250px"; 
iframe.id="randomid"; 
iframe.addEventListener("load", load); 
iframe.setAttribute("src", link); 
document.getElementById("ad54").appendChild(iframe); 
} 

code html pour obtenir iframe:

<div id="ad54"</div> 

lance iFrame, mais maintenant que je reçois aucun élément changé à la page parent bien iframe est déclenché. Lorsque iframe est chargé, j'ai besoin que ces changements aient lieu dans la page parente. Les éléments ne chargent pas le contenu externe, donc ils ne déclenchent jamais d'événements load

+0

Les deux pages (parent et iframe) sur le même domaine? – strah

+0

fermez votre iframe :) – Christian

+0

Oui, sur le même domaine. Iframe fermé :) – Blazer

Répondre

1

Vous semblez essayer de déclencher l'événement lorsque le contenu iframe se charge. Vous devez attacher votre écouteur d'événement à l'iframe.

iframe.addEventListener("load", load); 
iframe.setAttribute("src", link); 
Questions connexes