【发布时间】:2014-05-28 13:33:22
【问题描述】:
当我们点击我的网站元素时,我正尝试全屏显示它,它适用于 chrome、IE,但不适用于 firefox。
我去了microsoft fullscreen API,测试了他们的代码,这些浏览器都没有问题。
这是我想要全屏显示的网站部分。
<div class="wrap">
<div class="signin">
<div style="margin: 2px 0px -25px 10px;"><h1>Sign In or <a href="<?php echo $this->url(array('module' => 'default','controller'=>'paid-sign-up','action'=>'index'),null,true); ?>" style="color:#F00;text-decoration:none;">Signup</a></h1></div>
<?php echo $this->signin(); ?>
<span class="forget">
<a href="<?php echo $this->url(array('module' => 'default','controller'=>'forgot-password','action'=>'index'),null,true); ?>">Forgotten Password?</a> </span>
</div>
这里是我使用的脚本
<script type="text/javascript">
var inFullScreen = false; // flag to show when full screen
var fsClass = document.getElementsByClassName("wrap");
for (var i = 0; i < fsClass.length; i++) {
fsClass[i].addEventListener("click", function (evt) {
if (inFullScreen == false) {
makeFullScreen(evt.target); // open to full screen
} else {
reset();
}
}, false);
}
function makeFullScreen(divObj) {
alert (divObj);
if (divObj.requestFullscreen) {
alert ('standard');
divObj.requestFullscreen();
}
else if (divObj.msRequestFullscreen) {
alert ('ms');
divObj.msRequestFullscreen();
}
else if (divObj.mozRequestFullScreen) {
alert ('moz');
divObj.mozRequestFullScreen();
}
else if (divObj.webkitRequestFullscreen) {
alert ('webkit');
divObj.webkitRequestFullscreen();
}
inFullScreen = true;
return;
}
function reset() {
if (document.exitFullscreen) {
document.exitFullscreen();
}
else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
inFullScreen = false;
return;
}
</script>
最后一个有用的信息,我的网站是一个 zent 框架网站,这就是为什么会有一些 PHP。
【问题讨论】:
-
你检查过控制台吗?当全屏请求失败时,浏览器会记录错误。
-
我没有检查,因为我不知道。所以控制台中显示的错误是:“全屏请求被拒绝,因为 Element.mozRequestFullScreen() 没有从短时间运行的用户生成的事件处理程序中调用。”我真的不知道这是什么意思。
-
这意味着你不能强制全屏,除非活动被一些用户交互(比如点击一个按钮)触发。
-
是的,但是,当用户点击div时触发全屏,那么问题是什么?
-
哦,你是对的 :) 那么在这种情况下,我不知道为什么请求会失败。我会做一个jsfiddle。
标签: javascript firefox fullscreen