你如何在Safari中获得全屏?

时间:2014-08-27 06:13:24

标签: javascript safari fullscreen spotlight

主要出于艺术原因,我希望全屏运行我的幻灯片(普通javascript)。对于像Internet Explorer,Chrome,Firefox和其他浏览器这样的浏览器,当它们在Windows机器上运行时似乎没有问题:用户只需按F11键进入全屏模式(并再次按下它以保留它),如他/她被指示通过介绍幻灯片的前一页进行操作。 [BTW。这是唯一的'物理'观众与幻灯片之间的互动:按下按键也意味着“准备好”'观看幻灯片放映,坐在离屏幕一定距离的地方,距离不太近等等。由于这个原因和其他原因,我不想在全屏模式下自动[或通过点击]运行幻灯片。

正如我所说,这在Windows机器上完美运行。这对于Mac上的Safari不起作用:按^ + cmd + F不会给你全屏,据我所知,因为我的网页的网址仍然可以在屏幕顶部看到,包括标题栏。例如:

<A HREF="javascript:slideshow();
self.moveTo(0,0);self.resizeTo(screen.availWidth,screen.availHeight);"></A>

给出了相同的结果:地址栏和标题栏仍然可见。

如果您想在全屏播放幻灯片几分钟,请转到:

http://www.atelierfransvandestaak.nl/slideshow.html

我已经在几个月的时间里搜索了几个论坛的答案但是徒劳无功。现在我开始认为这不是代码问题,而是定义问题。因为苹果设计师所谓的全屏幕在我看来并不是真正的全屏。定义是一个标准问题:意味着,你不能改变它,因为世界其他地方都遵循它的规则。或者你呢? 那么我的主要问题是,我们是否同意全屏视图[例如一个图像]。如果没有,你也不能编码。也许,这使得我们对Stackoverflow的指令提出了太多的提问[关于代码],但我感谢任何建议或答案。

提前致谢, wimsch

PS。我们全屏问题的原因[= safari没有进入原生全屏,而不是javascript代码,即使用户明确指示&lt;&lt; ^ cmd F&gt;&gt;]也许是地址栏可以获取网址,也可以搜索字符串。所以,我猜(快速)搜索引擎[Spotlight]与地址栏互连,这可以很容易地解释为什么地址栏仍然可见,防止Safari进入Native全屏。你怎么看待这个?

3 个答案:

答案 0 :(得分:2)

我使用这个出色的软件包https://www.npmjs.com/package/screenfull

解决了所有问题

自述文件:

用于JavaScript全屏API的跨浏览器使用的简单包装,可让您将页面或任何元素置于全屏状态。消除浏览器实现上的差异,因此您不必这样做。

它可以正常工作,并且文档很棒。

答案 1 :(得分:0)

// mozilla proposal
element.requestFullScreen();
document.cancelFullScreen(); 

// Webkit (works in Safari and Chrome Canary)
element.webkitRequestFullScreen(); 
document.webkitCancelFullScreen(); 

// Firefox (works in nightly)
element.mozRequestFullScreen();
document.mozCancelFullScreen(); 

// W3C Proposal
element.requestFullscreen();
document.exitFullscreen();

更多信息here

答案 2 :(得分:0)

这适用于iPhone。只需将屏幕变为有效然后返回水平

<meta name="viewport" content="width=device-width, user-scalable=0, minimal-ui">