gpt4 book ai didi

javascript - setInterval() 在 Android 中的 window.open() 之后不起作用

转载 作者:太空狗 更新时间:2023-10-29 14:59:16 29 4
gpt4 key购买 nike

只是一个小问题:我正在使用 Cordova 开发一个混合应用程序,但是当我在 $window.open() 之后使用 setInterval() 函数时> setInterval 停止工作,但在 Chrome 中,它正在工作(但这是正常的,新窗口在新选项卡中打开)。

这是我的代码的摘录:

$http.post(url)
.success(function(result, status) {
var windowWithings = $window.open(result.res);
var intervalVerif = $window.setInterval(function (){
$http.get(url)
.success(function(result) {
windowWithings.close();
$window.cancelInterval(intervalVerif);
})
.error(function(error) {
console.log(error);
});
}, 2000);
})
.error(function(error, status) {
console.log(status);
});

提前致谢!

编辑:

我使用 setInterval 搜索的目的是每 2000 毫秒检查一次服务器是否从我打开的新窗口中获取信息。如果服务器没问题,我会关闭窗口以返回到之前的状态。

当我说它不起作用时,我想说的是新窗口不会关闭,但如果我更改带有警报的代码,我有时会在新窗口有时间打开之前看到警报,但之后什么也没有

对于 Chrome,我只是说,如果我在笔记本电脑上的 Chrome 中打开 Angular 应用程序,它可以正常工作,但如果我启动使用 Cordova 创建的 Android 应用程序,它就无法工作。

最佳答案

请使用$timeout并在注入(inject)参数中添加'$timeout'

$timeout(function (){
$http.get(url)
.success(function(result) {
windowWithings.close();
$window.cancelInterval(intervalVerif);
})
.error(function(error) {
console.log(error);
});, 2000);

关于javascript - setInterval() 在 Android 中的 window.open() 之后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28540128/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com