Appcelerator Titanium:如何使用Window的onLoad事件?

时间:2011-04-05 09:58:52

标签: javascript android titanium

mainWin.pageLoad=false;
mainWin.addEventListener('load', function(e) {
  if(mainWin.pageLoad) {
    mainWin.open();    
     } else {
      mainWin.close();    
      var LoginWindow = Titanium.UI.createWindow({ 
        title : 'Login',  
        url:'Login.js'   
      });
   LoginWindow.open();
  }
});

这是我的app.js文件。如果pageLoad变量保持布尔值为true,那么我需要导航到mainWin {Which is the current Window},否则我需要转到Login Page。

4 个答案:

答案 0 :(得分:5)

    var LoginWindow = Titanium.UI.createWindow ({
      backgroundColor:'#1E563F',
      url:'Login.js',
    });


    mainWin.addEventListener('open', checkPage);
        mainWin.pageLoad = false;

        function checkPage() {  
           if(mainWin.pageLoad) {
             mainWin.open();
           } else {
             mainWin.close();
             LoginWindow.open();
           }
        }

  mainWin.open();

这应该有效....

答案 1 :(得分:1)

您是否尝试过这样的代码?

mainWin.pageLoad = false;
mainWin.addEventListener('load', function(e) {
  if(mainWin.pageLoad) {
    mainWin.open();    
   } else {
      mainWin.close();    
      var LoginWindow = Titanium.UI.createWindow({ 
        title : 'Login',  
        url:'Login.js'   
      });
   LoginWindow.open();
  }
});

答案 2 :(得分:1)

原因可能是在调度事件之前将变量更新为true。您是否尝试打印以控制mainWin.pageLoad值? 你在哪里将变量更新为true?

答案 3 :(得分:1)

尝试使用focus事件而不是加载事件。