コンテンツにスキップ

useFullscreen

カテゴリ
エクスポートサイズ
1.05 KB
最終更新日
先週

リアクティブな フルスクリーンAPI です。特定の要素(とその子孫)をフルスクリーンモードで表示し、不要になったらフルスクリーンモードを終了するためのメソッドを追加します。これにより、オンラインゲームなどの目的のコンテンツをユーザーの画面全体を使用して表示し、フルスクリーンモードがオフになるまで、すべてのブラウザユーザーインターフェース要素と他のアプリケーションを画面から削除することができます。

デモ

使用方法

js
import { useFullscreen } from '@vueuse/core'

const { isFullscreen, enter, exit, toggle } = useFullscreen()

指定された要素をフルスクリーン表示します。一部のプラットフォーム(iOSのSafariなど)では、ビデオ要素のみフルスクリーン表示が可能です。

ts
const el = ref<HTMLElement | null>(null)

const { isFullscreen, enter, exit, toggle } = useFullscreen(el)
js
const el = ref(null)
const { isFullscreen, enter, exit, toggle } = useFullscreen(el)
html
<video ref="el"></video>

コンポーネントの使用方法

この関数は、@vueuse/componentsパッケージを介してレンダーレスコンポーネントバージョンも提供します。使用方法の詳細はこちら

vue
<template>
  <UseFullscreen v-slot="{ toggle }">
    <video />
    <button @click="toggle">
      Go Fullscreen
    </button>
  </UseFullscreen>
</template>

型宣言

typescript
export interface UseFullscreenOptions extends ConfigurableDocument {
  /**
   * Automatically exit fullscreen when component is unmounted
   *
   * @default false
   */
  autoExit?: boolean
}
/**
 * Reactive Fullscreen API.
 *
 * @see https://vueuse.dokyumento.jp/useFullscreen
 * @param target
 * @param options
 */
export declare function useFullscreen(
  target?: MaybeElementRef,
  options?: UseFullscreenOptions,
): {
  isSupported: ComputedRef<boolean>
  isFullscreen: Ref<boolean, boolean>
  enter: () => Promise<void>
  exit: () => Promise<void>
  toggle: () => Promise<void>
}
export type UseFullscreenReturn = ReturnType<typeof useFullscreen>

ソース

ソースデモドキュメント

貢献者

Anthony Fu
Fernando Fernández
wheat
Antério Vieira
Anthony Fu
tawen
zaqvil
Yvan Zhu
vaakian X
Jelf
webfansplz
Shinigami
Alex Kozack

変更履歴

v12.0.0-beta.1 2024/11/21
0a9ed - feat!: Vue 2 のサポートを削除、バンドルを最適化、クリーンアップ (#4349)
v10.2.1 2023/06/28
14edb - fix: フルスクリーンモードでない場合は終了をスキップ (#3144)
v10.1.0 2023/04/22
4a7a1 - fix: 複数のフルスクリーン要素に対する `isFullscreen` の処理 (#3000)
v10.0.0-beta.3 2023/04/12
2e467 - fix!: より優れたクロスプラットフォーム互換性 (#2915)
v10.0.0-beta.0 2023年3月14日
9d394 - 修正: Safari iOS の対応 (#2822)
v9.11.0 2023年1月17日
d5321 - 修正(コンポーネント): defineComponent を pure としてマーク (#2623)

MIT ライセンスの下でリリースされています。