5

ページに iFrame があり、表示スタイルは none です。ソースを設定してからディスプレイをブロックに設定するJavaScript関数があります。問題は、コンテンツが読み込まれる前に iframe が表示されるため、ちらつきが発生することです。最初に白くなり、次にコンテンツを表示します。そのため、ソースを設定する必要があり、ソースのすべてのコンテンツの読み込みが完了したら、表示スタイルのみを設定します。

CSS & Javascript

.ShowMe{display:block;}

function(url)
{
document.getElementById('myIFrame').src = url;
document.getElementById('myIFrame').className = ShowMe;
}
4

3 に答える 3

4

次のことを試してみることをお勧めします。

<script type="javascript">
    var iframe = document.createElement("myIFrame");
    iframe.src = url;

        if (navigator.userAgent.indexOf("MSIE") > -1 && !window.opera){
                iframe.onreadystatechange = function(){
            if (iframe.readyState == "complete"){            
                //not sure if your code works but it is below for reference
                  document.getElementById('myIFrame').class = ShowMe;
                  //or this which will work
                  //document.getElementById("myIFrame").className = "ShowMe";

                }
            };
        }       
        else 
        {
            iframe.onload = function(){
                  //not sure if your code works but it is below for reference
                  document.getElementById('myIFrame').class = ShowMe;
                  //or this which will work
                  //document.getElementById("myIFrame").className = "ShowMe";
            };
        } 
</script>

ここにあるコードに基づいています。

于 2013-07-11T10:29:43.793 に答える