Ich habe vor einigen Monaten eine Web-App erstellt und getestet, ob sie in ff & chrome einwandfrei funktioniert.
Ich habe letzte Nacht etwas hinzugefügt und festgestellt, dass meine Funktion zum Ausblenden von Iframes nicht mehr in Chrom funktioniert.
Wenn ich das Element inspiziere, kann ich sehen, dass sich das Attribut zwar ändert, aber der Iframe nicht ausgeblendet ist.
function hideIFrame(){
document.getElementById("myFrame").style.visibility="hidden";
self.focus();
}
function showIFrame(){
document.getElementById("myFrame").style.visibility="visible";
}
Das myFrame-Div startet versteckt. und wird erfolgreich sichtbar gemacht, aber wenn die Sichtbarkeit in verstecktes Chrom geändert wird, wird es nicht ausgeblendet, ff und dh verbergen es immer noch.
Irgendeine Idee warum?
Das FIX:
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;
}
3 Antworten
Es gibt Probleme beim Umschalten der Iframe-Sichtbarkeit ($ ('iframe'). CSS ('Sichtbarkeit', 'versteckt') funktioniert nicht in Google Chrome). Wenn Sie möchten, dass es verschwindet, verwenden Sie Höhe, Breite: 0. Wenn Sie möchten, dass es einfach unsichtbar ist, verwenden Sie die Deckkraft: 0.
In meinem Fall verwende ich nur JS onload, um das Element auszublenden, und ich kann JS verwenden, um visibility="visible"
umzuschalten.
window.onload = function() {
document.getElementById("newDiv").style.visibility = "hidden";
}
function showHidden() {
document.getElementById("newDiv").style.visibility = "visible";
}
Ich habe dein Problem nicht verstanden. Möglicherweise sollten Sie weitere Codes veröffentlichen, in denen Sie die Funktion aufrufen. Hier ist ein Beispielcode, der gut in Chrom funktioniert.
<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>