2011-04-05 31 views
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(); 
    } 
}); 

這是我的app.js文件。如果pageLoad變量保存布爾值true,那麼我需要導航到mainWin {Which is the current Window}否則我需要去登錄頁面。Appcelerator Titanium:如何使用窗口的onLoad事件?

回答

4
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(); 

這應該工作....

+0

這工作的兄弟..謝謝 – theJava 2011-04-05 14:50:07

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(); 
    } 
}); 
+0

我想你的方式,已經更新了我的代碼太...但每次它加載mainWin.open()不論boolen值的變化。 – theJava 2011-04-05 10:20:18

1

原因可能是該變量在事件分派之前更新爲true。您是否嘗試打印以控制mainWin.pageLoad值? 你在哪裏更新變量爲true?

+0

它只是我只是假的 – theJava 2011-04-05 12:52:51

1

嘗試使用focus事件而不是加載事件。

+0

即使這不起作用... – theJava 2011-04-05 12:39:45

+0

那麼我可以建議你發佈所有的代碼到一個餡餅,因爲無論是或這兩種方法在這裏描述應該工作,所以問題必須在別處 – 2011-04-05 13:54:19

相關問題