39

windowFirebugでオブジェクトを調べました。window.innerWidthwindow.outerWidthは両方1230です。

これら2つの値の違いは何ですか?

4

2 に答える 2

27

Mozilla 開発者ネットワークから:

window.outerWidth

window.outerWidth は、ブラウザー ウィンドウの外側の幅を取得します。これは、サイドバー (展開されている場合)、ウィンドウ クローム、およびウィンドウ サイズ変更の境界/ハンドルを含む、ブラウザー ウィンドウ全体の幅を表します。

window.innerWidth

レンダリングされている場合は、垂直スクロールバーを含むブラウザー ウィンドウ ビューポートの幅 (ピクセル単位)。

これは、表向きは彼らがどのように機能するかです。ただし、テスト ページでは、Ubuntu 12.04 の Firefox 14.0.1 でどのようにサイズを変更しても、両方とも同じであることが示されています。Chromium では、8 ピクセル異なる数値を返します。少し推測してみると、その特定のアプリのウィンドウ クロームは左側で約 4 ピクセル、右側で約 4 ピクセルであり、この違いがそのブラウザーで正しく認識されているようです。

私が使用したテストページのコード:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>12066093</title>
    <meta charset="utf-8">
</head>
<body>
<div style="width:2000px; height: 2000px;">hi</div>
<script type="text/javascript">
    alert("window.innerWidth: " + window.innerWidth + "\nwindow.outerWidth: " + window.outerWidth);
</script>
</body>
</html>
于 2012-08-22T04:08:09.843 に答える
2

window.innerWidthwindow.outerWidthの Mozilla リファレンスを確認してください。オペレーティング システム/ウィンドウ マネージャーにそれらがある場合、window.outerWidth にはウィンドウの境界線、サイズ変更ハンドル、およびサイドバーが含まれます。

ブックマークまたは履歴サイドバーを開いてから、Firebug でもう一度試してください。

于 2012-08-22T04:01:21.250 に答える