我想全屏演示我的窗口。
我有一个工作功能,但我有一个问题:
我在用户点击UI中的某个按钮后发送一个AJAX调用,获取一些数据并做好准备,在此ajax调用之后(在success
我要展示我的数据在全屏幕上,但我无法做到这一点,因为它引发了一个错误:
Failed to execute 'requestFullScreen' on 'Element': API can only be initiated by a user gesture.
根据您的理解,我有用户操作 - 点击按钮,但这还不够,如果我'试图在ajax调用中执行fullscreen function
。
我也试图使用全局变量,有一个状态(我是否需要显示全屏或不显示(这取决于响应解析的结果(在AJAX调用之后)),但它也不起作用。我是这样想的:
ISFULLSCREEN = false;
function get_ajax() {
ajax_call ()
.success(response) {
if (response.fullscreen) {
ISFULLSCREEN = true;
}
}
}
function useFullscreen() {
if (ISFULLSCREEN) {
use_fullscreen();
}
}
我的按钮看起来像:
<button onclick="get_ajax();useFullscreen()" value="click me" />
但是功能useFullscreen
运行得更快,而ISFULLSCREEN
的值更改为true
有人知道如何解决这个问题吗?
非常感谢!
答案 0 :(得分:1)
也许在你的ajax请求中,使用async: false
使获取同步,从而将所有执行保持在同一事件中(来自用户点击)。
这样做的缺点是,如果需要很长时间,它可能会挂起页面
答案 1 :(得分:0)
这对你有帮助吗?:Run a website in fullscreen mode
答案基本上表示,如果没有用户互动,您无法强制进行全屏更改,但有一些替代建议
答案 2 :(得分:0)
为ajax调用添加async:false并在ajax成功时调用函数useFullscreen并从按钮onclick事件中删除它