首页 > 其他分享 >视频播放组件中,样式全屏和全屏的区别是什么?

视频播放组件中,样式全屏和全屏的区别是什么?

时间:2024-11-01 14:41:31浏览次数:1  
标签:播放器 document 样式 100% player 全屏 组件 播放

在视频播放组件中,"样式全屏"和"全屏"是两种不同的显示模式,它们的主要区别在于显示范围和用户体验。以下是详细的解释:

样式全屏(Pseudo Fullscreen)

  1. 显示范围

    • 样式全屏通常是指在当前网页中最大化视频播放器的显示区域,但不会覆盖整个浏览器窗口。
    • 视频播放器会扩展到其父容器的最大尺寸,但仍然受制于浏览器的布局和样式。
  2. 用户体验

    • 用户仍然可以看到浏览器的其他部分,如地址栏、工具栏等。
    • 用户可以继续与网页的其他部分进行交互,如滚动页面、点击其他元素等。
    • 通常通过CSS样式实现,例如设置播放器的宽度和高度为100%。
  3. 实现方式

    • 通过CSS和JavaScript控制播放器的样式。
    • 例如,可以使用CSS的 width: 100%; height: 100%; 以及JavaScript的 player.style.width = '100%'; player.style.height = '100%'; 来实现。

全屏(True Fullscreen)

  1. 显示范围
    • 全屏模式是指视频播放器覆盖整个屏幕,包括浏览器的地址栏、工具栏等。
    • 视频播放器会占据整个屏幕,提供沉浸式的观看体验。

2.用户体验**:

  • 用户无法看到浏览器的部分只能看到视频播放器 - 用户无法与网页的其他部分进行交互,除非退出全屏模式。
  • 通常用于提供更好的观看体验,特别是在观看高清视频或进行演示时。
  1. 实现方式
    • 通过浏览器的全屏API实现。
    • 例如,可以使用 element.requestFullscreen() 方法将指定的元素切换到全屏模式。
    • 退出全屏模式可以使用 document.exitFullscreen() 方法。

示例代码

样式全屏

<div id="player" style="width: 100%; height: 100%;">
  <!-- 视频播放器内容 -->
</div>

<script>
  function enterPseudoFullscreen() {
    const player = document.getElementById('player');
    player.style.width = '100%';
    player.style.height = '100%';
  }

  function exitPseudoFullscreen() {
    const player = document.getElementById('player');
    player.style.width = 'auto';
    player.style.height = 'auto';
  }
</script>

全屏

<div id="player">
  <!-- 视频播放器内容 -->
</div>

<script>
  function enterFullscreen() {
    const player = document.getElementById('player');
    if (player.requestFullscreen) {
      player.requestFullscreen();
    } else if (player.mozRequestFullScreen) { // Firefox
      player.mozRequestFullScreen();
    } else if (player.webkitRequestFullscreen) { // Chrome, Safari and Opera
      player.webkitRequestFullscreen();
    } else if (player.msRequestFullscreen) { // IE/Edge
      player.msRequestFullscreen();
    }
  }

  function exitFullscreen() {
    if (document.exitFullscreen) {
      document.exitFullscreen();
    } else if (document.mozCancelFullScreen) { // Firefox
      document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) { // Chrome, Safari and Opera
      document.webkitExitFullscreen();
    } else if (document.msExitFullscreen) { // IE/Edge
      document.msExitFullscreen();
    }
  }
</script>

总结

  • 样式全屏:在当前网页中最大化视频播放器的显示区域,但不覆盖整个浏览器窗口。
  • 全屏:覆盖整个屏幕,提供沉浸式的观看体验,用户无法与网页的其他部分进行交互。

选择哪种模式取决于具体的使用场景和用户体验需求。

标签:播放器,document,样式,100%,player,全屏,组件,播放
From: https://www.cnblogs.com/longmo666/p/18520215

相关文章

  • QT6 USB接收麦克声音并播放代码
    #include<QApplication>#include<QAudioSource>#include<QAudioSink>#include<QMediaDevices>#include<QAudioFormat>#include<QByteArray>#include<QIODevice>#include<QDebug>#include<QUdpSocket>#includ......
  • 微信小程序的组件
    微信小程序的组件是构成小程序界面的基本单元,通过组合不同的组件可以实现丰富的页面效果。微信小程序提供了一系列基础组件和一些高级组件,开发者可以根据需要选择使用。下面是一些常用的组件:基础组件1.view:视图容器,用于布局。2.text:文本组件,用于显示文字。3.image:图片组件......
  • npm包 - 发布vue3组件
    npm包-发布vue3组件 1.创建VUE3项目npmcreatevue 2.在项目中创建packages文件夹,创建index.js,创建 components文件夹,创建 PanelCard1.vue 编辑PanelCard1.vue<template><divstyle="width:200px;height:200px;background:grey"><button......
  • Vue 组件开发:深入理解与实践
    在Vue.js的强大生态系统中,组件开发是构建高效、可维护和可复用用户界面的核心。本文将带你深入了解Vue组件开发的方方面面,从基础概念到实际应用,让你掌握这一关键技能。一、Vue组件基础概念1.什么是组件组件是Vue.js中可复用的最小单位,它将HTML、CSS和JavaScri......
  • Vue组件的动态加载和卸载
            组件的动态注册还是比较容易的,使用<component:is="组件id"></component>即可,但动态卸载有难度,相关文献较少。不过,如果巧妙使用vnode,就能轻松实现!       下图展示了4个代表不同文档材料的Vue组件。为简化起见,每个组件用一个DIV元素表示,其内容为一张图......
  • vue3 类组件装饰器模式配置
    2024年10月31日vue3支持装饰器模式插件借助插件vue-facing-decorator实现类组件装饰器转换npminstall--save-devvue-facing-decorator@rollup/plugin-babel@babel/plugin-proposal-decorators@babel/plugin-proposal-class-propertiesvite.config.ts配置//第一种支......
  • 鸿蒙开发:ArkTS SwipeRefresher 组件
    一、基本概念功能概述SwipeRefresher组件在ArkTS5.0中是一种用于实现下拉刷新功能的重要组件。当用户在屏幕上对包含该组件的区域进行下拉操作时,如果下拉的距离和速度满足一定条件,就会触发一个刷新事件,通常用于重新加载数据,如刷新列表内容、获取最新的信息等。用户体......
  • Vue组件化-插槽Slot
    认识插槽Slot如何使用插槽slot?插槽的默认内容多个插槽的效果具名插槽的使用◼事实上,我们希望达到的效果是插槽对应的显示,这个时候我们就可以使用具名插槽:具名插槽顾名思义就是给插槽起一个名字,<slot>元素有一个特殊的attribute:name;一个不带name的slot,会带有隐......
  • 微信小程序 video 组件高度自适应实现
    偶然发现微信小程序的video无法像Image对象那样设置mode='widthFix'实现宽度100%高度自适应尝试了各种网上的方案都不可行。要实现高度自适应需要2个条件:知道视频的真实宽,高设置css的aspect-ratio与height在小程序内上传视频调用wx.chooseMedia获取视频......
  • 实现.NET 4.0下的Task类相似功能组件
    实现.NET4.0下的Task类相似功能:TaskExCum组件详解引言随着.NET技术的发展,异步编程模型逐渐成为现代应用程序开发中的标准实践之一。.NET4.5引入了Task类,极大地简化了异步编程的过程。然而,许多遗留系统仍在使用.NET4.0或更低版本,这些版本并未直接支持Task类的全......