【问题标题】:how to initialize fullscreen without user interaction如何在没有用户交互的情况下初始化全屏
【发布时间】:2015-06-15 09:18:23
【问题描述】:

您好,我是初学者,我想创建一个网络应用程序,并且在页面加载时需要全屏帮助...无需用户交互

我有这样的点击功能正常工作...但我想在起始页加载功能

addEventListener("click", function() 
    {
        var el = document.documentElement , rfs = el.requestFullScreen ||
        el.webkitRequestFullScreen || el.mozRequestFullScreen ;
        rfs.call(el);
    });

谁来帮帮我:)

谢谢!

【问题讨论】:

  • 检查DOMContentLoaded。你也可以试试(function(){/*Your code to full screen*/})();
  • 感谢您的建议。我用我的代码检查了“DOMContentLoaded”......功能不起作用:(。当替换任何其他代码时,例如“function myFunction() { alert("Hello"); }”它工作...... ........为什么会这样?
  • 您不能在没有用户操作的情况下强制用户进入全屏模式

标签: javascript css html firefox


【解决方案1】:

这是不可能的。

我在浏览器控制台中运行了以下 sn-p:

var e = document.getElementById('answers');
(e.webkitRequestFullScreen || e.mozRequestFullScreen).apply(e);

Chrome 告诉我:

在“元素”上执行“requestFullScreen”失败:API 只能通过用户手势启动。

火狐告诉我:

全屏请求被拒绝,因为 Element.mozRequestFullScreen() 没有从短时间运行的用户生成的事件处理程序中调用。

这是为防止滥用而设置的限制,类似于window.open 上的限制(例如,请参阅thisthis 问题)。

【讨论】:

    【解决方案2】:

    这对我有用,但通过在横向或纵向模式下旋转手机。

    window.screen.orientation.onchange = function() {
    
          if (this.type.startsWith('landscape')) {
            document.documentElement.webkitRequestFullscreen();
          } else {
            document.webkitExitFullscreen();
          }
    
    };
    

    【讨论】:

      【解决方案3】:

      你试试这个。

      $(document).ready(function () {
          $('html').click(function () {
              if (screenfull.isFullscreen !== true) {
                  screenfull.toggle();
              }
          });
      });
      

      jQuery 插件

      /*!
       * screenfull
       * v3.0.0 - 2015-11-24
       * (c) Sindre Sorhus; MIT License
       */
      !function () {
          "use strict";
          var a = "undefined" != typeof module && module.exports, b = "undefined" != typeof Element && "ALLOW_KEYBOARD_INPUT"in Element, c = function () {
              for (var a, b, c = [["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"], ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"], ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]], d = 0, e = c.length, f = {}; e > d; d++)
                  if (a = c[d], a && a[1]in document) {
                      for (d = 0, b = a.length; b > d; d++)
                          f[c[0][d]] = a[d];
                      return f;
                  }
              return!1;
          }(), d = {request: function (a) {
                  var d = c.requestFullscreen;
                  a = a || document.documentElement, /5\.1[\.\d]* Safari/.test(navigator.userAgent) ? a[d]() : a[d](b && Element.ALLOW_KEYBOARD_INPUT);
              }, exit: function () {
                  document[c.exitFullscreen]();
              }, toggle: function (a) {
                  this.isFullscreen ? this.exit() : this.request(a);
              }, raw: c};
          return c ? (Object.defineProperties(d, {isFullscreen: {get: function () {
                      return Boolean(document[c.fullscreenElement]);
                  }}, element: {enumerable: !0, get: function () {
                      return document[c.fullscreenElement]
                  }}, enabled: {enumerable: !0, get: function () {
                      return Boolean(document[c.fullscreenEnabled]);
                  }}}), void(a ? module.exports = d : window.screenfull = d)) : void(a ? module.exports = !1 : window.screenfull = !1);
      }();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多