0

完全なウェブサイトの背景として画像を使用するウェブサイトを開発中です。FFとSafariで正常に動作します。しかし、IEには問題があります。画像がまったく読み込まれない場合もあれば、部分的に読み込まれる場合もあり、1〜2秒後に読み込まれる場合もあります。

それに加えて、私が見つけたIEプルーフハックはそうではないことが判明したので、IEプルーフはそうだと言われていました。純粋なCSSで画像を使用してWebサイトの完全な背景にする方法について何か考えはありますか?

html/cssを関連する可能性のある部分に削除しました。完全な例はhttp://www.topografieindeklas.nl/homeにあります

HTML

<body>
<div id="header">
    <div id="headerWrap" class="alignCenter">
        <p>Topografie</p>
    </div><!-- end headerWrap -->
</div><!-- end header -->

<div id="menu">
    <div id="menuWrap" class="alignCenter">
        <ul>
            <li>Item 1</li>
            <li>Item 2</li
        </ul>
    </div><!-- end menuWrap -->
</div><!--- end menu -->

 <div id="page">
    <div class="pageBrandingWrap">
        <div class="pageBranding alignCenter">
            <h1>Title</h1>
        </div>
    </div><!-- End pageBrandingWrap -->

    <div class="entrytextWrap">
        <div class="entrytext alignCenter">
            <h2><?php the_title(); ?></h2>
            <?php the_content(); ?>
        </div>
    </div><!-- End entrytextWrap -->
</div><!-- end page -->

<div class="clear"></div>
    <div id="footer">
        <div id="footerWrap" class="alignCenter">

        </div><!-- end footerWrap -->
    </div>
</body>

</html>

CSS

/* Correct/normalize default browser styles */
@import url('style/normalize.css');
/* Import the open sans font */
@import url(http://fonts.googleapis.com/css?     family=Open+Sans:300italic,400italic,600italic,400,300,700,800,600);

*{
margin:0px;
padding:0px;
}
html{
min-height: 100%;
background-size: cover;
background-image: url(style/img/masterBG.jpg);
background-repeat: no-repeat;
background-position: right bottom;
background-attachment:fixed;
 }
body{
min-height:100%;/*Corrects the full image background*/
font-family:Arial, Helvetica, sans-serif;;
font-size:14px;
text-align: center;
}
#header, #branding, #menu, #page, #footer{
width:100%;
}
#header{
margin:20px 0 0 0;
background: rgb(255, 255, 255) transparent;/* Fallback for web browsers that doesn't support RGBa */
background: rgba(255, 255, 255, 0.75);/* RGBa with 0.6 opacity, for non-stupid browsers */
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#BFFFFFFF, endColorstr=#BFFFFFFF);/* For IE 5.5 - 7*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#BFFFFFFF, endColorstr=#BFFFFFFF)";/* For IE 8*/
}
#headerWrap, #brandingWrap, #menuWrap{
width:900px;
font-family: 'Open Sans', sans-serif;
}
4

1 に答える 1

1

IEの大きな画像で発生している問題は、タイムアウトの問題です。それでも、タイムアウトのように10秒未満を報告するのはあなたが最初ではありませんが、msdnは公式に少なくとも30秒 を指定しています。

Internet Explorer imposes a time-out limit for the server to return data. 
By default, the time-out limit is as follows:
Internet Explorer 4.0 and Internet Explorer 4.01     5 minutes  
Internet Explorer 5.x and Internet Explorer 6.x     60 minutes
Internet Explorer 7   and Internet Explorer 8       60 minutes

When the server is experiencing a problem, Internet Explorer does not 
wait endlessly for the server to return data.

Applications that use the WinINet API directly will experience the 
following ReceiveTimeout values:

WinINet.dll version  4.x              5 minutes
WinINet.dll versions 5.x and 6.x     60 minutes
WinINet.dll versions 7.x and 8.x     30 seconds

このmsdnで指摘されているように、レジストリをチェックして、と
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings呼ばれるキーを探しReceiveTimeout、そこにある場合は削除することをお勧めします。「実際には」、「InstallAware」や「WebUIStudio」などのソフトウェアによって設定され、「インストーラーが他の方法でスタックするのを防ぐ」ことがよくあります。しかし、彼らはそれをリセットしません。

ただし、実際には、HTTP / 1.1のKeep-Alive動作またはConnection:HTTPS接続のセマンティクスを閉じるための不適切な/古代の設定に関するサーバー側の問題であることがよくあります。

私がSOで時々目にする他の解決策の1つは、画像を2つまたは4つの小さい画像に切り刻むことです。他の人の仕事を言い換えたくないので(ウェブサイトの半分を「盗む」)、どうやら私はあなたに答えのリンクを示すことを許されていません。Googleを使用して、SOで「遅延読み込み」スクリプトを検索してください。

幸運を!!

ps:私の個人的な経験では、IEがDXImageTransformのようなアクティブなcssおもちゃの(過度の)使用をしばしば窒息させるのを見てきました

于 2012-08-14T22:27:46.357 に答える