我想全屏演示我的窗口。
我有一个工作函数,但有一个问题:
我在用户单击 UI 中的某个按钮后发送 AJAX 调用,以获取一些数据并准备它,在此 ajax 调用之后(在成功
上,我想完整地演示我的数据屏幕,但我不能这样做,因为它会引发错误:
无法在“Element”上执行“requestFullScreen”:API 只能通过用户手势启动。
如您所知,我有用户操作 - 单击按钮,但如果我尝试在 ajax 调用中执行全屏函数
,这还不够。
我也尝试使用全局变量来拥有一个状态(我是否需要显示全屏(这取决于响应解析的结果(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
有人知道如何解决这个问题吗?
非常感谢!
最佳答案
也许在您的 ajax 请求中,使用 async: false
使获取同步,从而将所有执行保持在同一事件中(来自用户点击)。
这样做的缺点是如果时间较长,可能会挂起页面
关于javascript - ajax调用成功后如何执行JS函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34969733/