Javascript 如何启用firefox和chrome等IE全屏功能
我看了以下文章和jquery插件 但是找不到 所有那些主要的文章都经过评审,但我找不到任何直接谈论IE全屏功能的文章, 有人找到了解决办法吗 我尝试了W3C的建议Javascript 如何启用firefox和chrome等IE全屏功能,javascript,jquery,fullscreen,Javascript,Jquery,Fullscreen,我看了以下文章和jquery插件 但是找不到 所有那些主要的文章都经过评审,但我找不到任何直接谈论IE全屏功能的文章, 有人找到了解决办法吗 我尝试了W3C的建议 // W3C Proposal element.requestFullscreen(); document.exitFullscreen(); 已更新 我的期望是,我有一个图像转盘,我需要显示当前选定的图像以全屏显示,似乎IE不支持,我计划使用jQuery模型窗口(没有jQuery UI)。正如IE中不支持全屏API中的
// W3C Proposal
element.requestFullscreen();
document.exitFullscreen();
已更新
我的期望是,我有一个图像转盘,我需要显示当前选定的图像以全屏显示,似乎IE不支持,我计划使用jQuery模型窗口(没有jQuery UI)。正如IE中不支持全屏API中的。一样,似乎也没有关于IE11是否支持该功能的信息
根据MDN的说法,这项技术似乎在大多数浏览器中仍处于实验阶段。
SO的这两篇文章将对您有所帮助
<script type="text/javascript">
function max() {
var wscript = new ActiveXObject("Wscript.shell");
wscript.SendKeys("{F11}");
}
</script>
函数max(){
var wscript=newActiveXObject(“wscript.shell”);
SendKeys(“{F11}”);
}
这将解决您的所有问题
expand是用于全屏显示的按钮的id
var fullScreenButton = document.getElementById("expand");
fullScreenButton.addEventListener("click", function () {
if (mediaPlayer.requestFullscreen) {
mediaPlayer.requestFullscreen();
} else if (mediaPlayer.mozRequestFullScreen) {
mediaPlayer.mozRequestFullScreen(); // Firefox
} else if (mediaPlayer.webkitRequestFullscreen) {
mediaPlayer.webkitRequestFullscreen(); // Chrome and Safari
}
else if (mediaPlayer.msRequestFullscreen) {
mediaPlayer.msRequestFullscreen(); // IE
}
});
p、 will link将对您大有帮助 在IE10及以下版本中,通过脚本切换全屏是不可能的,除非您不调整其安全设置,如下面所示-
Tools->Internet Options->Security tab->click Custom Level button ->
find "Initialize and script ActiveX control not marked as safe." option -> change it to Enable
sheelpriy的答案很好,只是做了一点小改动,在chrome、firefox、ie、safari和opera(都是最新版本)上成功测试
//HTML按钮:
//获取元素id“全屏”
var fullScreenButton=document.getElementById(“全屏”);
//激活单击侦听器
fullScreenButton.addEventListener(“单击”),函数(){
//关闭全屏,激活它
如果(!document.fullscreenElement&&!document.mozFullScreenElement&&!document.webkitFullscreenElement&&!document.msFullscreenElement){
if(document.documentElement.requestFullscreen){
document.documentElement.requestFullscreen();
}else if(document.documentElement.mozRequestFullScreen){
document.documentElement.mozRequestFullScreen();//Firefox
}else if(document.documentElement.webkitRequestFullscreen){
document.documentElement.webkitRequestFullscreen();//Chrome和Safari
}else if(document.documentElement.msRequestFullscreen){
document.documentElement.msRequestFullscreen();//IE
}
//打开全屏,退出全屏
}否则{
if(document.exitFullscreen){
document.exitFullscreen();
}else if(document.msexit全屏){
document.msExitFullscreen();
}else if(document.mozCancelFullScreen){
document.mozCancelFullScreen();
}else if(document.webkitExitFullscreen){
document.webkitExitFullscreen();
}
}
});
享受吧 取材于(并进行了修改,因为它们有丑陋的编码实践,当你缩小尺寸时会让你抓狂)
vidWha是我的视频元素的id 全屏是我的全屏按钮的id 此代码适用于所有浏览器。已测试
var video = document.getElementById('vidWha');
var fullScreenButton = document.getElementById('full-screen');
// Event listener for the full-screen button
fullScreenButton.addEventListener("click", function() {
if (video.requestFullscreen) {
video.requestFullscreen();
}else if (video.mozRequestFullScreen) {
video.mozRequestFullScreen(); // Firefox
}else if (video.webkitRequestFullscreen) {
video.webkitRequestFullscreen(); // Chrome and Safari
}else if (video.msRequestFullscreen) {
video.msRequestFullscreen(); // IE
}
});
这里是Opera和Chrome的一个真正的功能示例,因为它们有相同的API。IE和Safari不支持它
addEventListener
在已经有事件的对象上是无用的,这就是为什么它被称为Object.addEventListener
对于DIV对象,mediv.onmouseX=function(){code…}
就足够了;无需使用mediv.addEventListener
,因为div
对象已具有鼠标事件
有关全屏显示,请检查此示例:
function mefull(iffull){
var isfullscreenelement = typeof(document.fullscreenElement)=='object';
if(!isfullscreenelement || isfullscreenelement=="undefined"){
alert('Message !');
return;
}
if(iffull){
document.documentElement.requestFullscreen();
//your code here......
}else{
if (document.exitFullscreen) {
document.exitFullscreen();
//Yourcode here......
}
}
}
我回顾了我上面所说的(0_0) 经过大量的研究和测试,这是一个在IE、EDGE、CHROME、FIREFOX和OPERA上运行良好的脚本。它在SAFARI版本5.1上不起作用。我希望这能帮助你。。。 要测试它,请创建一个html按钮并调用该函数 设置满:
setfullscreen(true);
全方位支援:
setfullscreen(false);
***此脚本不需要addEventListner
var ensuredoc = null; //reg your actual document is JS
function setfullscreen(isetting){
var domfull = (typeof(document.fullscreenElement)=='object')?1:
(typeof(document.msFullscreenElement)=='object')?2:
(typeof(document.mozFullScreenElement)=='object')?3:
(typeof(document.webkitFullscreenElement)=='object')?4:0;
if(isetting){
if(domfull >0){ ensuredoc =document; }
var docE=document.documentElement;
if(domfull ==1){
docE.requestFullscreen();
}else if(domfull ==2){
docE.msRequestFullscreen();
}else if(domfull ==3){
docE.mozRequestFullScreen();
}else if(domfull ==4){
docE.webkitRequestFullscreen();
}
}else{
if(domfull==1){
if((typeof
ensuredoc.exitFullscreen)=='function')
{ensuredoc.exitFullscreen();
}else if((typeof
ensuredoc.cancelFullScreen)=='function')
{ensuredoc.cancelFullScreen();};
}else if(domfull==2){
ensuredoc.msExitFullscreen();
}else if(domfull==3){
ensuredoc.mozCancelFullScreen();
}else if(domfull==4){
ensuredoc.webkitCancelFullScreen();
}
}
}
如果要检测DIV对象的键盘使用情况,只需添加一个简单的代码
var mediv = document.getElementById('mediv');
mediv.onkeyup = function(){ if(condition) {setfullscreen(false);}}
**我忘了告诉你EDGE使用WEBKIT。Chrome使用DOM激活屏幕,但“exitFullscreen”退出当浏览器更改为全屏,并且用户按下ESCAPE键时,它不会返回按键事件 解决方案是使用计时器来检测DIV或其他对象上是否发生了更改 我们在一个变量中存储一个按钮的真值或假值,该按钮将变为全屏
var fullScreenButton = document.getElementById("expand");
fullScreenButton.addEventListener("click", function () {
if (mediaPlayer.requestFullscreen) {
mediaPlayer.requestFullscreen();
} else if (mediaPlayer.mozRequestFullScreen) {
mediaPlayer.mozRequestFullScreen(); // Firefox
} else if (mediaPlayer.webkitRequestFullscreen) {
mediaPlayer.webkitRequestFullscreen(); // Chrome and Safari
}
else if (mediaPlayer.msRequestFullscreen) {
mediaPlayer.msRequestFullscreen(); // IE
}
});
我们启动计时器,只有当大小改变时才运行代码。例如
var buttonclick = false;
var MeInterval = null;
function timerscreen(){
if(buttonclicked){
if(objectdiv.offsetHeight < screen.availHeight){
your code here.....
//end timer
clearInterval(MeInterval);
}
}
}
objectdiv.onmouseup(){
buttonclicked = !buttonclicked;
if(buttonclicked) MeInterval= setInterval(timerscreen, 1000);
}
var按钮单击=false;
var MeInterval=null;
函数timersscreen(){
如果(按钮勾选){
if(objectdiv.offsetHeight
实际上,IE11列是灰色的,这表明目前还没有可用的信息。所以我怀疑它对那个版本的支持是肯定的。@smamati很好,我的笔记本电脑上的颜色太差了,当我快速看它时,它看起来是绿色的。谢谢你纠正我,我已经更新了我的答案@是的,我查看了这篇文章,似乎运气不好,让我们试试:)谢谢。IE11支持全屏API。目前使用ms前缀,但在最终发布之前可能会发生变化。资料来源:SO的这两篇文章将对您有所帮助。
var buttonclick = false;
var MeInterval = null;
function timerscreen(){
if(buttonclicked){
if(objectdiv.offsetHeight < screen.availHeight){
your code here.....
//end timer
clearInterval(MeInterval);
}
}
}
objectdiv.onmouseup(){
buttonclicked = !buttonclicked;
if(buttonclicked) MeInterval= setInterval(timerscreen, 1000);
}