JavaScript实现页面全屏显示及WebKit兼容性处理

作者:微光

时间:2026-10-23

浏览:511

本文介绍如何使用JavaScript实现页面元素的全屏显示功能,重点解析Gecko与WebKit内核在全屏行为上的关键差异。针对WebKit浏览器中元素默认居中且背景变黑的问题,提供了通过添加width和height为100%的CSS规则来修正全屏样式的解决方案,并包含完整的HTML与JS实现代码示例。

文章目录

JavaScript实现页面全屏显示及WebKit兼容性处理

本文分享一个使用JavaScript实现页面元素全屏显示的具体示例,供开发者参考。

该功能主要实现将指定的div元素置于全屏模式。

代码如下:


<html> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<body> 
<div style="margin:0 auto;height:600px;width:700px;"> 
<button id="btn">js控制页面的全屏展示和退出全屏显示</button> 
<div id="content" style="margin:0 auto;height:500px;width:700px; background:#ccc;" > 
<h1>js控制页面的全屏展示和退出全屏显示</h1> 
</div> 
</div> 
</body> 
<style type="text/css">
#content:-webkit-full-screen {
 background-color:rgb(255, 255, 12);
}
</style>
<script language="JavaScript"> 
document.getElementById("btn").οnclick=function(){ 
 var elem = document.getElementById("content"); 
 console.log(elem); 
 requestFullScreen(elem); 
}; 
function requestFullScreen(element) { 
 var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen; 
 if (requestMethod) { 
 requestMethod.call(element); 
 } else if (typeof window.ActiveXObject !== "undefined") { 
 var wscript = new ActiveXObject("WScript.Shell"); 
 if (wscript !== null) { 
  wscript.SendKeys("{F11}"); 
 } 
 }
} 
</script> 
</html>

需要注意的是,不同浏览器内核在全屏显示效果上存在差异。

关键在于Gecko与WebKit引擎的实现区别:Gecko会自动为全屏元素添加CSS样式,使其自动伸展以铺满屏幕(即设置width: 100%; height: 100%)。而WebKit引擎不会自动执行此操作,全屏元素会保持原始尺寸并居中显示,屏幕其余部分填充为黑色。若要在WebKit内核浏览器中获得与Gecko相同的全屏拉伸效果,必须手动为该元素添加width: 100%; height: 100%的CSS规则。


#myvideo:-webkit-full-screen {
 width: 100%;
 height: 100%;
}

注意:

如果div元素未设置背景样式,在使用webkitRequestFullScreen进行全屏操作时,该div区域将被黑色填充。

更多详细信息可参考MDN相关文档。

以上就是本文的全部内容,希望对学习有所帮助,欢迎支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章