JS控制浏览器全屏
来源:互联网 发布:python 移除数组元素 编辑:程序博客网 时间:2024/05/23 17:03
由于工作的需要,需要对页面进行投屏操作,这时为了达到更好的效果,浏览器全屏显示类似F12的效果。
HTML5提供了操作浏览器全屏的API,目前google chrome 15 +, safri5.1+,firfox10+,IE1能够很好的支持该属性;低版本的IE可以通过ActiveX插件实现;
google chrome 15 +, safri5.1+,firfox10+,IE1实现方式:
打开全屏:
function fullScreen() { var el = document.documentElement; var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen; if(typeof rfs != "undefined" && rfs) { rfs.call(el); } else if(typeof window.ActiveXObject != "undefined") { //for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏 var wscript = new ActiveXObject("WScript.Shell"); if(wscript != null) { wscript.SendKeys("{F11}"); } }}
退出全屏:
function exitFull() { // 判断各种浏览器,找到正确的方法 var exitMethod = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.webkitExitFullscreen; if (exitMethod) { exitMethod.call(document); } else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer var wscript = new ActiveXObject("WScript.Shell"); if (wscript !== null) { wscript.SendKeys("{F11}"); } }}
注意事项:
1,如果是低版本的在IE11以下,通过ActiveXObject ,首次加载页面的时候会出现是否加载AxtiveX控件的提示,这里会有一点不太友好,如果要避免这样的提示,只能去选项/设置面板中修改IE关于activex 控件的配置。没办法,这就是为什么这么多人讨厌IE的原因,但是IE还素有一个好处的,下面我们会讲到。
2,chrome等高版本浏览器可以通过调用Html5提供的API实现全屏和退出全屏,但是这个动作必须手动出发,例如通过点击事件:
$(document).onclick(function(){ fullScreen();})
这样是可以实现,但是如果我们需要在不手动触发的情况下通过js代码实现全屏API提供的方法就无法实现,如:
$(function(){ fullScreen();})//或者$("document").trigger('click');
上面这样浏览会报警告,提示:’Failed to execute ‘requestFullScreen’ on ‘Element’: API can only be initiated by a user gesture’,意思大概就是该方法只能通过手势出发。但是低版本的IE通过 wscript.SendKeys(“{F11}”)是可以实现的。
所以IE是又让人爱又让人恨,当然恨多一点。
阅读全文
1 0
- js控制浏览器全屏
- js控制浏览器全屏
- JS控制浏览器全屏
- JS控制浏览器全屏
- js控制浏览器全屏
- JS控制浏览器全屏
- js 控制浏览器全屏案例
- js控制浏览器全屏示例代码
- 实现js控制浏览器全屏,相当于f11
- 【JS】浏览器全屏方案
- JS全屏浏览器窗口
- js 浏览器全屏
- JS控制全屏
- 控制浏览器全屏的事件
- JS实现浏览器全屏和退出全屏
- 用js控制进入全屏,退出全屏
- JS控制全屏,监听退出全屏事件
- JS控制IE全屏显示
- 字节序问题:大端还是小端
- NOIP 2012 Senior 2
- 凸包问题(Graham扫描法)
- 设计模式——单例(Java实现)
- C++ bitset使用教程
- JS控制浏览器全屏
- rm(操作系统的删除文件)与git rm的区别
- java装饰模式
- memmove的用法及实现
- linux基础命令——自我总结
- socketpair创建双向通信的管道
- Oracle 数据库安装步骤详细图解 11g
- start-dfs.sh无法启动namenode(jps查看不到namenode)
- 关于git的一些零碎知识