Javascript 如何在Firefox中保存全屏状态?

Javascript 如何在Firefox中保存全屏状态?,javascript,android,Javascript,Android,接下来,我在我的网站中放置了以下代码,它只需要整个文档(html元素),一旦用户单击页面中的任何位置,页面就会全屏显示,一旦再次单击,页面就会恢复正常 var videoElement = document.getElementsByTagName('html')[0]; function toggleFullScreen() { if (!document.mozFullScreen) { if (videoElement.mozRequestFullScreen)

接下来,我在我的网站中放置了以下代码,它只需要整个文档(html元素),一旦用户单击页面中的任何位置,页面就会全屏显示,一旦再次单击,页面就会恢复正常

var videoElement = document.getElementsByTagName('html')[0];

function toggleFullScreen() {
    if (!document.mozFullScreen) {
        if (videoElement.mozRequestFullScreen) {
            videoElement.mozRequestFullScreen();
        }
    } else {
        if (document.mozCancelFullScreen) {
            document.mozCancelFullScreen();
        } 
    }
}

window.addEventListener("click", function(e) {
    toggleFullScreen();
}, false);
我的问题是如何保存这个全屏状态,以便每次Firefox加载时,该页面仍处于全屏状态。
或者有什么解决办法?这是针对Android版Firefox的。

看看这个针对Firefox的插件,我还没有尝试过,因为我在手机上发布了这个插件,它的描述说它可以强制全屏启动。我只是引用他们的描述

永远保存最后状态或全屏强制启动!简朴 为此目的完成

编辑:及其链接

像这样使用
localStorage
怎么样

function goFullScreen() {
  if (videoElement.mozRequestFullScreen) {
    localStorage.setItem('fullscreenEnabled', true)
    videoElement.mozRequestFullScreen();
  }
}

window.onload = function () {
  if (localStorage.getItem('fullscreenEnabled') === true) {
    goFullScreen();
  }
};

function toggleFullScreen() {
  if (!document.mozFullScreen) {
    goFullScreen();
  } else {
    if (document.mozCancelFullScreen) {
      document.mozCancelFullScreen();
      localStorage.setItem('fullscreenEnabled', false)
    }
  }
}

window.addEventListener("click", function(e) {
  toggleFullScreen();
}, false)
根据我的实验,这是不可行的,从客户端浏览器javascript

此api需要用户交互。我们无法通过脚本激活全屏

全屏api规范

如果没有以前建立的用户,则支持全屏显示 偏好、安全风险或平台限制

如果出现以下情况之一,则允许算法请求全屏显示 这是真的:

The algorithm is triggered by user activation.

The algorithm is triggered by a user generated orientation change.

关于激活事件

如果出现以下情况之一,则通过用户激活触发算法 条件是正确的:

The algorithm is triggered by user activation.

The algorithm is triggered by a user generated orientation change.
运行算法的任务当前正在处理 单击事件的isTrusted属性为true的激活行为

运行算法的任务当前正在运行 isTrusted属性为true和的事件的事件侦听器 其类型为:

我们不能从脚本触发全屏,或者如果是这样,脚本必须由用户触发

包括模拟点击不起作用,这是常规行为,旨在保护用户体验

经过一些反思,我们在这一点上达成了一致,想象一下,任何广告页面都可以全屏播放,网络浏览将是一个地狱

您在评论中说:«我是这里唯一的用户»

如果使用unix,您可以做什么((其他操作系统中可能存在替代方案))

使用(轻量级webkit浏览器),这将启动真正的全屏

midori -e Fullscreen -a myurl.html
据我所知,无法从命令行以全屏状态启动firefoxchromium

但可行的方法是在页面启动后,在系统级触发一次F11点击,关注好的窗口。((android adb shell中的sendkey?)

我能做到

下面是一个管道命令行,它将使用myurl.html启动firefox,搜索最新的firefox窗口id,然后在此窗口上触发F11键。。(再次按F11退出)

这应该很容易适应其他浏览器


作为最后一种选择,请查看
electron
nw.js

这是一种极端的解决方法,但您可以将您的网站设置为一个“显示”:“全屏”。然后你可以。

你不能……如果可能的话,听起来真的很糟糕。作为一个用户,如果一个网站一加载就自动全屏显示,我会感到非常惊讶和困惑,即使我上次访问时它是一个全屏显示的网站。问题是,我是这里唯一的用户,我确实明白你的意思。不幸的是,对于Android版Firefox,这是不可用的,但谢谢!谢谢,但它不起作用,我会看看localStorage。这正是我要找的,我需要确保它起作用,我会回来接受你的回答;)非常感谢。