javascript - 在 Safari 中无法使用全屏 API

标签 javascript safari fullscreen

我有使全屏效果的按钮。它适用于除 Safari 之外的所有浏览器。

我试过这段代码,但没有任何效果。 可能是什么问题?

document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);

document.documentElement.webkitRequestFullScreen();

document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);

整个代码看起来像这样http://jsfiddle.net/8yryvoee/1/它在 jsfiled 中不起作用,但它在 React 项目中起作用

最佳答案

我目前正在寻求使 Safari 5.1 正确退出(无法测试原始退出在稍新版本上的工作时间,因为 OS X 带有更现代的版本),但您可以尝试我的代码。我将在本周六连接我的 Mac(如果您在格林威治标准时间以东,我们的时区差异可能会超过 12 小时),我会记下来更新我的代码/答案。

浏览器真的对你进入全屏的方式很挑剔,大多数情况下他们希望它从事件处理程序中产生,所以我已经包含了它。以下是纯 JavaScript 代码,因此不应有任何框架/库要求。你没有提到哪个版本的 Safari,我目前只能有效地测试几个。

function $(o) {var r = false; if (document.querySelectorAll) {r = document.querySelectorAll(o);} return r;}


function editor_fullscreen(e)
{
 e.preventDefault();

 if (document.fullscreen)
 {
  if (document.exitFullscreen) {document.exitFullscreen();}
  else if (document.mozCancelFullScreen) {document.mozCancelFullScreen();}
  else if (document.webkitExitFullscreen) {document.webkitExitFullscreen();}
  else if (document.webkitCancelFullScreen) {document.webkitCancelFullScreen();}
  else if (document.msExitFullscreen) {document.msExitFullscreen();}
 }
 else
 {
  if ($('.editor_fullscreen')[0].requestFullscreen) {$('.editor_fullscreen')[0].requestFullscreen();}
  else if ($('.editor_fullscreen')[0].mozRequestFullScreen) {$('.editor_fullscreen')[0].mozRequestFullScreen();}
  else if ($('.editor_fullscreen')[0].webkitRequestFullScreen) {$('.editor_fullscreen')[0].webkitRequestFullScreen();}
  else if ($('.editor_fullscreen')[0].msRequestFullscreen) {$('.editor_fullscreen')[0].msRequestFullscreen();}
  else if (e.target.msRequestFullScreen) {alert('e.targe.parent.parent.parent.parent....');}
  else {console.log('DEveloper: full screen support is not detected; check method letter casing?');}
 }
}


window.onclick = function(e)
{
 $('.fullscreen')[0].onclick = function(e) {editor_fullscreen(e);}
}

关于javascript - 在 Safari 中无法使用全屏 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389312/

相关文章:

javascript - IndexedDB 与 iOS 8/Safari

android,linearlayout中的imageview不适合屏幕尺寸

javascript - 使用 Google Maps API 得到的结果超过 20 条?

javascript - 如何使用 Bootstrap 使我的网站具有响应性?

javascript - 如何使用javascript隐藏ul标签内的div标签

angularjs - ng-show 在 safari 中以 1.3.6 的 Angular 闪烁

javascript - 每小时自动运行 PHP 页面 - 无需使用 Cron 作业

Objective-c/iOS - 使用 Safari 打开本地 html 文件

javascript - Chrome 扩展程序 - 进入全屏模式会将页面背景颜色变为黑色

iOS 全屏 Web 应用程序颜色状态栏