h5的api dom全屏展示
下面是完整的例子,暂不做分析
<!DOCTYPE html>
<html>
<head>
<title> FullScreen API 演示</title>
<meta name="Generator" content="EditPlus">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="renfufei@qq.com">
<meta name="Description" content="http://davidwalsh.name/more-html5-apis">
<script>
// 处理全屏(需要全屏显示DOM元素)
function launchFullScreen(element) {
// 先检测最标准的方法
if(element.requestFullScreen) {
element.requestFullScreen();
} else if(element.mozRequestFullScreen) {
// 其次,检测Mozilla的方法
element.mozRequestFullScreen();
} else if(element.webkitRequestFullScreen) {
// if 检测 webkit的API
element.webkitRequestFullScreen();
}
};
// 退出全屏,不用管具体是哪个元素,因为屏幕是唯一的。
function cancelFullscreen() {
if(document.cancelFullScreen) {
document.cancelFullScreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
};
// 显示全屏信息
function dumpFullscreen() {
var d = document;
var fullE = null;
var fullEnable = "fullScreen is disable!";
if(d.fullScreenElement){
fullE = d.fullScreenElement;
} else if(d.mozFullScreenElement){
// 如果有问题,把mozFullscreenElement 改为 mozFullScreenElement,S大写
fullE = d.mozFullScreenElement;
} else if(d.webkitFullscreenElement){
// 本人的为chrome, Fullscreen 之中,s为小写。
fullE = d.webkitFullscreenElement;
}
// 如果有问题,请切换 fullScreen 中 s 的大小写。
if(d.fullScreenEnabled){
fullEnable = d.fullScreenEnabled;
} else if(d.mozFullScreenEnabled){
fullEnable = d.mozFullScreenEnabled;
} else if(d.webkitFullscreenEnabled){
// 注意 Fullscreen 的中间s大小写
fullEnable = d.webkitFullscreenEnabled;
}
//
if(window.console){
console.dir(fullE);
} else if(fullE){
alert(fullE.tagName);
} else {
alert("全屏元素是:"+fullE);
}
//
if(window.console){
console.info("允许全屏:"+fullEnable);
} else if(fullEnable){
alert("允许全屏:"+fullEnable);
} else {
alert("允许全屏:"+fullEnable);
}
};
// 设置事件监听,DOM内容加载完成,和jQuery的$.ready() 效果差不多。
window.addEventListener("DOMContentLoaded", function() {
// 获取DOM元素
var enterfull = document.getElementById("enterfull");
var quitfull = document.getElementById("quitfull");
var dumpfull = document.getElementById("dumpfull"); // 事件监听
enterfull.addEventListener("click", function() {
//
launchFullScreen(document.documentElement);
});
quitfull.addEventListener("click", function() {
//
cancelFullscreen();
});
dumpfull.addEventListener("click", function() {
//
dumpFullscreen();
}); }, false);
// 全屏事件Events
document.addEventListener("fullscreenchange", function(e) {
console.dir(e);
});
document.addEventListener("mozfullscreenchange", function(e) {
console.dir(e);
});
document.addEventListener("webkitfullscreenchange", function(e) {
console.dir(e);
});
</script>
</head> <body> <div>
<button id="enterfull">进入全屏</button><br/>
<button id="quitfull">退出全屏</button><br/>
<button id="dumpfull"> 查看全屏的DOM元素</button><br/>
</div>
</body>
</html>
h5的api dom全屏展示的更多相关文章
- JavaScript 全屏展示
浏览器都有页面全屏的功能 F11 ,那么如何用JavaScript控制页面全屏呢?MDN上提供的的API , 一个小demo验证一下! <!DOCTYPE html> <html l ...
- echarts图表自适应盒子的大小(盒子的大小是动态改变的),大到需要全屏展示
项目中用到了echarts,并且页面是自适应的,且页面中有一个[放大.缩小]功能,因此图表还需要根据盒子的大小来变化. 即:两个需求,如下: ① 图表根据窗口的大小自适应 ② 图表根据所在盒子的大小自 ...
- js控制页面的全屏展示和退出全屏显示
<!DOCTYPE html> <html> <meta http-equiv="Content-Type" content="text/h ...
- 给echarts加个“全屏展示”
echarts的工具箱并没有提供放大/全屏的功能, 查找文档发现可自定义工具https://www.echartsjs.com/option.html#toolbox.feature show代码 t ...
- requestFullscreen实现全屏展示
requestFullscreen实现全屏展示. var fullContainer = document.getElementById('fullScreenContainer'); //先把元素展 ...
- HTML5在手机端实现视频全屏展示
最近做项目,遇到一个问题,在手机上要实现视频的全屏播放功能.测试了很久,终于找到解决办法. 第一种:将视频放大来控制. 视频在播放的时候,全屏是根据高度来的,如果设置视频 video 标签的宽度是 1 ...
- Fullscreen API:全屏操作
function launchFullscreen(element) { if(element.requestFullscreen) { element.requestFullscreen(); } ...
- 开机自动调用.bat文件且浏览器全屏展示
1,将 .bat文件放入到以下路径中 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 或 C:\Users\Administr ...
- vmware中Ubuntu不能全屏展示的问题
依次打开system settings---------------->Displays----------------->resoluiton调整分辨率,然后右下角点击apply,然后k ...
随机推荐
- Nagios利用NSClient++监控Windows主机
在Nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的.其功能类似于check_nrpe.不过还需要搭配另外一个软件NSClient++,它则类似于NRP ...
- js数组和对象互转方法
<script> let arr = [2, 3, 4, 2, 3, 4]; // 数组转化为对象 function toObject(arr) { let obj = { } for(l ...
- PHP自学1——简单表单提交
最近自学PHP,顺便做个笔记记录一下自己的学习进度.选用的教程是<PHP and MySQL Web Development 4th Edition>,建议阅读英文教材(我能说英文网上免费 ...
- java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
异常原因:缺少jstl.jar包.一般在新建Web项目是jstl一项不要选none就不会出现这个问题.(还有可能就是缺少servlet-api.jar)
- FAQ:win7和win8 64位注册ocx控件方法
win7/win8 问题所在: 64位的系统一般都是可以安装32位程序的, 执行 C:\Windows\SysWOW64\regsvr32.exe 而不是 C:\Windows\Sys ...
- 红豆带你从零学C#系列—Visual Studio工具介绍、下载和安装
一.Visual Studio的下载 Visual Studio(简称VS)是微软的一套完整的开发工具集,集成了能够开发并运行如C#.C++.VB.F#等程序的开发环境,目前最新的版本是Visual ...
- 为什么getline()后要两次回车????(将输入的字符串按单词倒序输出)
#include<iostream>#include<string>#include<algorithm>using namespace std;int main( ...
- 一个小型的DBHelper的诞生(1)
一直想做一个自己的简单的 DBHelper .没有其他原因,只是其他的轮子用起来感觉太重了. 设计的大体思路如下: 大体方向: 生成一个简单版本的DB层,需要支持数据库 MySql,Oracle,Sq ...
- [置顶] 蓝牙基础知识进阶——Physical channel
从本篇文章开始,晓东将会和大家一起来学习一些蓝牙的比较高阶的基础知识. 二.物理通道 物理通道是piconet区分的标准,它是蓝牙系统结构层次中的最底层了. Q1:物理通道有哪些类型 物理通道 ...
- Android textview 设置不同的字体大小和颜色
在实际应用中,需要将一个字符串已不同的颜色,字体显示出来.当然完全可以通过不同textview拼接出来.也可以通过一个textview来展示. 步骤如下: 1.定义不同style . 不妨如下定义2个 ...