0

私はここで奇妙な問題に直面しています。IEは、ウィンドウの高さと幅を計算する際に他のブラウザーとはかなり異なる動作をすることを知っていますが、私が見つけたものにはかなり驚いています。これがコードです。

var i = 1; 
setInterval(function() {
    if (i % 2 == 0)
        $("body").css("zoom","0.15");
    else
        $("body").css("zoom","1");
    i++;
    console.log(i+" ("+$(window).width()+" X "+$(window).height()+")");                
},1000 );

コードは非常に単純です。私が行っているのは、CSS3のズームプロパティを使用してボディをズームし、ウィンドウの高さと幅を計算している1秒おきです。ウィンドウの寸法は同じままで、ズームインおよびズームアウトするのは本体だけです。

Firefoxでこのスクリプトをテストすると、ページを拡大または縮小するたびにウィンドウのサイズが均一になります(理想的な場合)。ただし、IEではそうではありません。(1004 X 358)から(6807 X 2500)まで前後に振動し、ウィンドウのサイズ変更はまったくありません。clientWidth&を使用したときに同じ測定値が得られましたclientHeight

IE9のコンソールログのスクリーンショットも添付しzoomました。プロパティを使用しているときに実際のウィンドウのサイズを取得できる方法があるかどうかを知りたいです。どんな提案でも大歓迎です。

私は次のDoctypeを使用しています

<!DOCTYPE HTML PUBLIC "-// W3C // DTD HTML 4.0 Transitional // EN">

興味深いことに、 <!DOCTYPE HTML>を使用すると正しいサイズが得られますが、ズームが機能しません。適切な寸法と作業ズームを取得する方法はありますか?

ここに画像の説明を入力してください

4

1 に答える 1

0

zoomは CSS3 のプロパティではなく、純粋な MS の発明であり、かなり古く、やりたいことが何でもできることを意味します。

を使用して Standardsmode をトリガーする場合、新しい IEでは の代わりに<!DOCTYPE HTML>使用する必要があります。-ms-zoomzoom

テストが正しいと仮定すると、IE のバグのある動作を回避しようとする代わりに、全体像を見ることをお勧めしますが、そのためには knpw が必要です。なぜあなたは使用していzoomますか?実際の CSS3 プロパティはtransformどうですか?

于 2012-12-17T10:20:10.207 に答える