2012-10-07 7 views
5

Ho creato un'app Web alcuni mesi fa e l'ho verificata funzionando correttamente in ie, ff & chrome.L'attributo di visibilità ha smesso di funzionare in chrome per me

sono andato a aggiungere qualcosa la scorsa notte e ho notato che la funzione hide iframe non funziona più in chrome.

Se controllo l'elemento, posso vedere che l'attributo sta effettivamente cambiando, ma l'iframe non è nascosto.

function hideIFrame(){ 
    document.getElementById("myFrame").style.visibility="hidden"; 
    self.focus(); 
} 

function showIFrame(){ 
    document.getElementById("myFrame").style.visibility="visible"; 
} 

il div myFrame inizia nascosto. ed è reso visibile con successo ma quando la visibilità è cambiata in chrome nascosta non la nasconde, ff e cioè la nascondi ancora.

qualche idea del perché?

la correzione:

function hideIFrame(){ 
    document.getElementById("myFrame").style.visibility="hidden"; 
    document.getElementById("myFrame").style.opacity=0; 
    self.focus(); 
} 

function showIFrame(){ 
    document.getElementById("myFrame").style.visibility="visible"; 
    document.getElementById("myFrame").style.opacity=1; 
} 
+0

La prego di fornire un jsfiddle. Deve esserci qualcos'altro in corso ... –

+0

Avendo lo stesso problema. Riesci a trovare una voce di bug su Chromium? MODIFICA: trovato questa voce: http://code.google.com/p/chromium/issues/detail?id=301376 Puoi confermare che il bug si verifica solo sulle pagine che incorporano il contenuto flash? –

+0

@Gyum Fox La mia pagina ha incorporato il flash sì –

risposta

1

Non ho avuto il tuo problema. Potrebbe essere che dovresti pubblicare altri codici in cui stai chiamando la funzione. Ecco un codice di esempio che funziona bene in chrome.

<script type="text/javascript"> 
function hideIFrame(){ 
document.getElementById("myFrame").style.visibility="hidden"; 
self.focus(); 
} 

function showIFrame(){ 
document.getElementById("myFrame").style.visibility="visible"; 
} 
</script> 

<input type="button" onclick="hideIFrame()" value="hide"/> 
<input type="button" onclick="showIFrame()" value="show"/> 

<iframe id="myFrame"> 

</iframe> 
+0

sì il tuo, ho aggiunto a un violino e questo funziona in chrome http://jsfiddle.net/SKFeC/ ma per qualche motivo non nella mia app –

0

Nel mio caso ho solo utilizzare JS onload per nascondere l'elemento e io sarò in grado di utilizzare JS per attivare o disattivare visibility="visible"

window.onload = function() { 
    document.getElementById("newDiv").style.visibility = "hidden"; 
} 
function showHidden() { 
    document.getElementById("newDiv").style.visibility = "visible"; 
} 
Problemi correlati