2010-11-22 24 views
1

J'ai un iframe et je voudrais cacher un div à l'intérieur, donc les gens bascily ne peuvent pas par exemple se déconnecter dans l'iframe.Masquer div avec iframe

Ce que je ne faisais que:

<script type="text/javascript"> 
function changeCSS(){ 
frame = document.getElementById("myIframe"); 
frame.document.getElementById("guser").style.display='none'; 
} 
</script> 

<iframe onload="javascript:changeCSS()" id="myIframe" src="{$docUrl}" width="800px" height="600px"></iframe> 

Mais je ne peux pas le faire pour cacher la div "guser".

Si quelqu'un pouvait aider, je serais très apprécié.

+0

Votre exemple semble incomplet, l'iframe est vide. – DwB

+0

@dwb: Ce n'est pas nécessairement vide; c'est déterminé par ce qui se trouve à l'URL 'src'. – PleaseStand

Répondre

1

essayer frame.contentWindow.document.getElementById ou frame.contentDocument.getElementById

+0

Je reçois: Autorisation refusée à pour obtenir la propriété HTMLDocument.document à partir de . –

+0

Si le domaine n'est pas celui que vous possédez, vous ne pouvez pas manipuler les éléments qui s'y trouvent. Votre meilleure tentative serait de créer une page proxy qui affiche la page iframed et manipule les choses. –

0

.style.visibility = "hidden";

+0

a également essayé cela. J'ai l'erreur suivante (indiquée par firebug): Autorisation refusée à pour obtenir la propriété Window.document de . –

+0

Essayez-vous d'accéder à un objet fenêtre à partir d'un domaine différent? Évidemment, rien ne fonctionnera si vous êtes. Peut-être le dernier commentaire dans le prochain thread aidera: http://www.webdeveloper.com/forum/showthread.php?t=189515 – Lockhead

0

Different hostname or domain?Si vous n'avez aucun contrôle sur la page encadrée, vous ne pouvez rien faire facilement. Si vous avez le contrôle sur la page Framed, essayez de vérifier à l'intérieur le cadre si la page est encadrée ou non (ceci est basé sur un cadre-busting code bien connu):

function changeCSS() { 
    document.getElementById("guser").style.display = 'none'; 
} 

if(top != self) { 
    if(window.addEventListener) { 
     window.addEventListener('load', changeCSS, false); 
    } else { 
     window.attachEvent('onload', changeCSS); 
    } 
} 

Modifier : Maintenant que vous mentionnez Google Docs, je crois que le code ci-dessus ne fonctionnera pas.