JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
实现全屏
个人版:
function isFullScreen() {
var fullscreenElement = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.mozFullScreen;
if (fullscreenElement) {
//退出全屏
if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.exitFullscreen) {
document.exitFullscreen();
}else if (document.msRequestFullscreen) {
document.msRequestFullscreen();
}
}else {
//全屏
launchFullScreen();
}
};
//封装函数,控制全屏
function launchFullScreen() {
var element = document.documentElement;
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
};
/**
* 监听全屏状态变化
*/
document.addEventListener('fullscreenchange', Fn);
document.addEventListener('webkitfullscreenchange', Fn);
document.addEventListener('mozfullscreenchange', Fn);
document.addEventListener('msfullscreenchange', Fn);
function Fn() {
var fullscreenElement = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.mozFullScreen;
//全屏按钮切换类
if (fullscreenElement) {
//目前全屏
}else {
//目前不是全屏
}
}
付老师版:
full.onclick=function() {
if(isFullScreen) {
isFullScreen = false
if (document.exitFullscreen) {
document.exitFullscreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
} else {
isFullScreen = true
var docElm = document.documentElement;
//W3C
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
}
//FireFox
else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
}
//Chrome等
else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
}
//IE11
else if (docElm.msRequestFullscreen) {
docElm.msRequestFullscreen();
}
}
}
/**
* 监听全屏状态变化
*/
document.addEventListener('fullscreenchange', fullScreenChangeFn);
document.addEventListener('webkitfullscreenchange', fullScreenChangeFn);
document.addEventListener('mozfullscreenchange', fullScreenChangeFn);
document.addEventListener('msfullscreenchange', fullScreenChangeFn); // IE下无效果然
/**
* 监听屏幕变化的函数
*/
function fullScreenChangeFn(){
/*
* 获取被全屏的元素,没有返回null
* document.fullscreenElement
* document.webkitFullscreenElement
* document.mozFullScreenElement
*
* 返回是否全屏·布尔值
* document.webkitIsFullScreen
* document.mozFullScreen
* */
// 判断是否是全屏
var isFull = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.webkitIsFullScreen || document.mozFullScreen;
if (isFull) {
// 全屏状态
} else {
// 非全屏状态
}
}
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件的更多相关文章
- [转] JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
[From] http://www.jb51.net/article/76695.htm HTML 5中的full screen,目前可以在除IE和opera外的浏览器中使用 ,有的时候用来做全屏AP ...
- webdriver设置浏览器全屏及设置浏览器窗口为特定大小的方法
from selenium import webdriver driver = webdriver.Chrome() #全屏 driver.maximize_window() #具体大小 driver ...
- Egret--设置全屏,控制浏览器全屏
1, 手机浏览器打开的项目的时候,浏览器的虚拟按键/标题栏, 使得即便设置全屏也没有变成全屏(好像JS 中有方法向浏览器请求全屏) 2, 加载资源, 关闭后卸载, 再次进入游戏依然很快.不过登陆游戏的 ...
- JavaScript:让浏览器全屏显示
并不是所有人都会按F11让浏览器全屏显示~~~ 一.直接上代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xh ...
- [JavaScript] 用html5 js实现浏览器全屏
项目中需要将后台浏览器的窗口全屏,也就是我们点击一个按钮要实现按F11全屏的 效果. 在HTML5中,W3C制定了关于全屏的API,就可以实现全屏幕的效果,也可以 让页面中的图片,视频等全屏目前只有g ...
- jsp实现浏览器全屏
在web系统中实现按钮控制浏览器全屏. <!DOCTYPE html> <%@ page contentType="text/html;charset=UTF-8" ...
- 兼容IE浏览器的js浏览器全屏代码
众所周知,IE是个奇葩的浏览器,但是由于用户量很大,开发者还是不得不为IE考虑一下,于是,各种浏览器相关的操作,都要多一个特别的判断——专门针对IE浏览器的判断,这里的全屏也不例外.看代码: func ...
- js 实现各浏览器全屏
现代浏览器包括ie11,可以直接用h5的全屏api实现 低版本的IE需要通过ActiveX插件实现: 代码实现 <!DOCTYPE html> <html> <head& ...
- HTML5 JS 实现浏览器全屏(F11的效果)
项目中有需要使用JS来控制浏览器全屏的方法 DEMO地址: http://zhongxia245.github.io/demo/js2fullpanel.html function fullScree ...
随机推荐
- C的realloc的动态分配扩展和缩小内存
#include <stdio.h> #include <stdlib.h> void out(int *p, int n){ int i; for(i=0;i<n;i+ ...
- (23)打鸡儿教你Vue.js
实例: 模板语法 vue-router,vuex以及调式方法介绍 打包部署: npm run build Webpack 目前无论在求职还是工作中,使用越来越普及.而想要学懂,学会Webpack更绝非 ...
- 内核中PID_HANDLE_OBJECT等互相转换
目录 一丶简介 1.进程pid 转化为 HANDLE 2.Handle --------> 转化为 PID 3.Pid ------> Object(EPROCESS) 4. HANDLE ...
- Java SpringBoot全局错误处理类,返回标准结果
package demo.utils; import com.alibaba.fastjson.JSON; import demo.controller.ProductController; impo ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
- ubuntu之路——day2
一:sougou输入法安装 详情参考:https://blog.csdn.net/xin17863935225/article/details/82285177 注意切换成fcitx架构 因为linu ...
- Git是怎么Ignore文件的?
Git is one of the most popular version control systems (VCS) available, especially thanks to hosting ...
- cmd命令 taskkill
netstat -ano|findstr " tasklist|findstr " taskkill /pid taskkill 命令: // 描述: 结束一个或多个任务或流程. ...
- spring boot修改代码后无需重启设置,在开发时实现热部署
Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)(spring-boot-devtools) 热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构, ...
- Qt类关系一览表