在Android中的window.open()之后setInterval()无效

时间:2015-02-16 11:12:55

标签: javascript android angularjs cordova ionic-framework

只是一个小问题:我正在制作一个与Cordova一起开发角色的混合应用程序,但是当我在$ window.open()之后使用setInterval()函数时,setInterval停止工作,但是在chrome中它是&#39 ; s工作(但它正常,新窗口在新标签页中打开)。

这是我的代码的摘录:

$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中的角度应用程序,那么如果我启动使用Cordova创建的Android应用程序,它就无法正常工作。

1 个答案:

答案 0 :(得分:0)

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

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