Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
61
79
91
13
61
13

height は VisualViewport インターフェイスの読み取り専用プロパティで、視覚的ビューポートの高さを CSS ピクセルで返します。現在の文書が完全にアクティブでない場合は、0 を返します。

61
79
91
13
61
13

offsetLeft は VisualViewport インターフェイスの読み取り専用プロパティで、視覚的ビューポートの左端の、レイアウトビューポートの左端からのオフセットを CSS ピクセル単位で返します。現在の文書が完全にアクティブでない場合は 0 が返されます。

61
79
91
13
61
13

offsetTop は VisualViewport インターフェイスの読み取り専用プロパティで、視覚的ビューポートの上端の、レイアウトビューポートの上端からのオフセットを CSS ピクセル単位で返します。現在の文書が完全にアクティブでない場合は 0 が返されます。

61
79
91
13
61
13

pageLeft は VisualViewport インターフェイスの読み取り専用プロパティで、初期包含ブロックの原点を基準とした視覚的ビューポートの左端の x 座標を CSS ピクセルで返します。または、現在の文書が完全にアクティブでない場合は 0 を返します。

61
79
91
13
61
13

pageTop は VisualViewport インターフェイスの読み取り専用プロパティで、初期包含ブロックの原点を基準とした視覚的ビューポートの上端の y 座標を CSS ピクセルで返します。または、現在の文書が完全にアクティブでない場合は 0 を返します。

61
79
91
13
61
13

resize は VisualViewport インターフェイスのイベントで、視覚的ビューポートがリサイズされた際に発行されます。これによって、通常はレイアウトビューポートに固定されている要素を、視覚的ビューポートがズームされた際に相対的に位置指定することができます。

62
79
91
13
62
13

scale は VisualViewport インターフェイスの読み取り専用プロパティで、視覚的ビューポートに適用されたピンチズームの拡大縮小係数を返します。現在の文書が完全にアクティブでない場合は 0、出力端末がない場合は 1 を返します。

61
79
91
13
61
13

scroll は VisualViewport インターフェイスのイベントは、視覚的ビューポートがスクロールされた際に発行されます。これによって、通常はレイアウトビューポートに固定されている要素を、視覚的ビューポートがスクロールされた際に相対的に位置指定することができます。

62
79
91
13
62
13

scrollend は VisualViewport インターフェイスのイベントで、視覚的ビューポートのスクロール操作が終了したときに発行されます。これにより、スクロール操作が完了したときに要素を更新することができます。例えば、 VisualViewport/resizeevent イベントと VisualViewport/scrollevent イベントを使用して、ピンチズームやスクロールが行われる際に要素が視覚的ビューポートに固定されるようにし、scrollend を使用してスクロールが終了したときに新しいコンテンツで要素を更新することができます。

126
126
150
126

width は VisualViewport インターフェイスの読み取り専用プロパティで、視覚的ビューポートの幅を CSS ピクセルで返します。現在の文書が完全にアクティブでない場合は、0 を返します。

61
79
91
13
61
13

visualViewport は Window インターフェイスの読み取り専用プロパティで、特定のウィンドウの視覚的ビューポートを表す VisualViewport オブジェクトを返します。

61
79
91
13
61
13
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (62)
実装メモ
  • onresize`イベントハンドラプロパティはサポートされていません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (62)
実装メモ
  • onresize`イベントハンドラプロパティはサポートされていません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (62)
実装メモ
  • `onscroll` イベントハンドラプロパティはサポートされていません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (62)
実装メモ
  • `onscroll` イベントハンドラプロパティはサポートされていません。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (126)
実装メモ
  • `onscrollend` イベントハンドラプロパティはサポートされていません。バグ 325307785 を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (126)
実装メモ
  • `onscrollend` イベントハンドラプロパティはサポートされていません。バグ 325307785 を参照してください。
注釈 3件
制限事項
  • このブラウザでは部分的にしか実装されていません
削除済み
  • このバージョンで機能が削除されました (126)
実装メモ
  • `onscrollend` イベントハンドラプロパティはサポートされていません。バグ 325307785 を参照してください。

実務での使いどころ

  • Visual viewport API の活用

    VisualViewport は視覚的ビューポート API のインターフェイスで、指定されたウィンドウの視覚的ビューポートを表します。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。