`

HTML5 Fullscreen API html5全屏编程API

    博客分类:
  • web
 
阅读更多

原文地址:http://www.javaarch.net/jiagoushi/692.htm

 

HTML5 Fullscreen API html5全屏编程API

 

页面要实现全屏预览,需要隐藏浏览器地址栏工具类等组件,那么需要考虑下用户体验。

 

w3c规范中的fullscreen标准可以查看:http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html

 

当前在firefox,chrome,safari中已经支持这个API。那么我们简单看看这个代码实现:

 

1.请求全屏 Requesting fullscreen

 

  为了兼容这几个浏览器需要这么写:

  

	var docElm = document.documentElement;
	if (docElm.requestFullscreen) {
		docElm.requestFullscreen();
	}
	else if (docElm.mozRequestFullScreen) {
		docElm.mozRequestFullScreen();
	}
	else if (docElm.webkitRequestFullScreen) {
		docElm.webkitRequestFullScreen();
	}

 

 

这里各个浏览器的API方法的大小写不一样,w3c规范中建议方法都是小写。这里是把整个docuement请求全屏,我们也可以只针对某个元素需要全屏展示,比如video。

 

2.取消全屏 Cancelling fullscreen

 

if (document.exitFullscreen) {
		document.exitFullscreen();
	}
	else if (document.mozCancelFullScreen) {
		document.mozCancelFullScreen();
	}
	else if (document.webkitCancelFullScreen) {
		document.webkitCancelFullScreen();
	}

 

w3c中使用exitFullscreen这个API,但是浏览器却都有自己的实现。

 

3.检查全屏状态变化 Detecting fullscreen state change

 

	document.addEventListener("fullscreenchange", function () {
		fullscreenState.innerHTML = (document.fullscreen)? "" : "not ";
	}, false);

	document.addEventListener("mozfullscreenchange", function () {
		fullscreenState.innerHTML = (document.mozFullScreen)? "" : "not ";
	}, false);

	document.addEventListener("webkitfullscreenchange", function () {
		fullscreenState.innerHTML = (document.webkitIsFullScreen)? "" : "not ";
	}, false);

 

 

4.css的全屏样式 Styling fullscreen

在css中,我们有几个伪类来给全屏设置样式,一般是 full-screen 这个伪类,然后会自动再全屏的时候生效

 

	html:-moz-full-screen {
		background: red;
	}

	html:-webkit-full-screen {
		background: red;
	}

	html:fullscreen {
		background: red;
	}

 

 

5.全屏状态下的键盘输入 Full screen with key input

 为了安全原因,很多情况下全屏输入都是被阻塞禁止的,但是chrome允许通过下面的API来允许键盘输入

 

docElm.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);

 

 

这个只在chrome支持,其他浏览器不支持。firefox计划使用requestFullscreenWithKeys 方法来支持鼠标输入,但是会触发用户通知已保证安全。

 

firefox10以上,chrome 15和safari5.1以上都支持了。

 

这是一个demo的地址:http://robnyman.github.io/fullscreen/,还有一个github示例代码:https://github.com/robnyman/robnyman.github.com/tree/master/fullscreen

0
1
分享到:
评论

相关推荐

    HTML5全屏(Fullscreen)API详细介绍

    FullScreen 让我们可以通过编程的方式来向用户请求全屏显示,如果交互完成,随时可以退出全屏状态. 在线演示Demo: Fullscreen API Example (在此Demo中,可以Launch ,Hide ,以及Dump显示相关属性,可以通过chrome的...

    浏览器全屏

    首先,浏览器全屏功能主要依赖于HTML5中的Fullscreen API。这个API为元素提供了进入和退出全屏模式的能力。全屏API包含以下核心方法: 1. `element.requestFullScreen()`: 这个方法可以让指定的元素进入全屏模式。...

    MFC-fullScreen.rar_FullScreen M_MFC_MFC 全屏 程序_MFC 全屏显示

    本案例"FullScreen M_MFC_MFC 全屏 程序_MFC 全屏显示"是一个使用MFC实现全屏功能的经典示例,主要涉及如何在MFC应用中切换到全屏模式。 全屏模式是指将应用程序的窗口扩展到显示器的整个工作区域,隐藏任务栏、...

    全屏窗口javascript全屏

    在HTML5中,`Fullscreen API`被引入,允许网页元素进入或退出全屏模式。主要涉及到的全局对象是`document`和`element`,以及以下几个关键方法: 1. `element.requestFullScreen()`:此方法用于将指定的元素(如`...

    右侧提示点击成全屏代码.rar

    这样的效果可能通过HTML5的Fullscreen API实现,该API允许开发者以编程方式进入和退出全屏模式。 在压缩包子文件的文件名称列表中,只给出了“17”,这可能是指压缩包内有一个名为“17”的文件,或者是编号为17的...

    [AIR] - ANE - FullScreen (+Interactive Fullscreen)

    【AIR ANE - FullScreen (+Interactive Fullscreen)】是一个针对Adobe AIR开发的扩展库,它主要功能是使应用程序能够在运行时自动适应不同设备的屏幕尺寸,并全屏显示。这个功能对于那些希望提供沉浸式用户体验的...

    5 个强大的HTML5 API 函数推荐

     该API允许开发者以编程方式将Web应用程序全屏运行,使Web应用程序更像本地应用程序。 复制代码代码如下:// 找到适合浏览器的全屏方法 function launchFullScreen(element) { if(element.requestFullScreen) { ...

    C++编程系列之实现全屏显示

    在C++编程中,全屏显示是一个常见的需求,特别是在游戏开发、图形用户界面(GUI)设计或者演示程序中。本节我们将深入探讨如何在VC++环境下实现全屏显示功能,这对初学者来说是一次很好的实践机会。 首先,我们需要...

    js实现浏览器全屏兼容谷歌火狐等

    总结起来,通过理解和使用HTML5的全屏API,并结合各种浏览器的特定实现,我们可以编写出兼容性的JavaScript代码来实现全屏功能。同时,为了提高代码可维护性和可读性,可以考虑引入现有的库或模块,如`fullscreen.js...

    c++中窗口的全屏化

    在C++编程中,将窗口全屏化是一个常见的需求,特别是在开发桌面应用或者游戏时。以下将详细讲解如何在C++环境下实现窗口全屏化,同时也会涉及到与这个主题相关的C++代码文件。 首先,全屏化窗口通常涉及到窗口管理...

    flutter_windows_fullscreen:全屏显示插件和全屏显示

    `flutter_windows_fullscreen`插件提供了简单易用的API,使得Flutter开发者可以轻松地将应用切换到全屏模式。这个插件可能包含以下功能: 1. **进入全屏**:通过调用提供的API,应用可以无缝地进入全屏状态,隐藏...

    js全屏切换组件

    不同浏览器对全屏API的支持程度可能不同,为了确保跨浏览器的兼容性,我们需要使用条件语句或者库(如FullScreen.js)来处理这些差异。例如,对于不支持全屏API的老版本浏览器,可以提供备选方案,如放大视图等。 ...

    前端项目-leaflet.fullscreen.zip

    6. **浏览器兼容性**:了解全屏API在不同浏览器中的实现,因为并非所有浏览器都完全支持HTML5的全屏API。开发者可能需要使用polyfill或特定的条件语句来处理兼容性问题。 7. **用户交互**:良好的用户体验是关键。...

    任何容器都可以全屏,全屏的代码

    3. **HTML5 Fullscreen API**:这个API允许开发者控制元素进入和退出全屏状态,适用于各种浏览器。除了上述的`requestFullscreen`和`exitFullscreen`,还有`fullscreenElement`属性用于获取当前全屏元素,以及`...

    javascript经典特效---按钮打开全屏窗口.rar

    在JavaScript中,我们可以利用HTML5提供的Fullscreen API来实现这一功能。 1. Fullscreen API简介: Fullscreen API允许开发者在用户请求或程序逻辑驱动下,将任何DOM元素切换到全屏模式。主要涉及两个全局对象和...

    精彩编程与编程技巧-如何用API及MMSYSTEM.DLL播放AVI文件...

    ' 若要全屏播放AVI文件,则在CmdStr后追加 "fullscreen" CmdStr = "play G:\VFW_CINE\AK1.AVI fullscreen" ReturnVal = mciSendString(CmdStr, 0, 0, 0) ``` #### 3. **注意事项** - 确保AVI文件的路径正确无误,...

    flash全屏代码可以完全适应所以浏览器

    要实现Flash全屏功能,开发者通常需要使用ActionScript,这是Flash的内置编程语言。以下是一个简单的ActionScript全屏代码示例: ```actionscript import flash.display.Stage; stage.displayState = ...

    FullScreen_Toggle:全屏切换

    在Web开发中,HTML5引入了`Fullscreen API`,允许网页内容进入和退出全屏模式。开发者可以使用`element.requestFullscreen()`方法使元素进入全屏,而`document.exitFullscreen()`则用于退出全屏。此外,还有`...

    全屏 c# 窗体

    实现窗体全屏显示和还原功能涉及多方面的知识,包括C#编程、Windows API、窗体操作以及跨平台兼容性处理。通过上述步骤和API的合理使用,可以为应用程序提供更为丰富的用户体验。上述内容为解读提供的文件信息中的...

Global site tag (gtag.js) - Google Analytics