2011-01-25 53 views
0

我在Flex 3網站上遇到了深層鏈接問題。我希望人們能夠鏈接到網站的不同部分。我也希望能夠在瀏覽器欄中輸入一個url並將其帶到我的網站的特定部分。另外,我需要默認打開#view = 2。Flex 3:易於深入鏈接問題

我在設置默認的#view = 2時遇到了問題。所以,它應該檢查瀏覽器片段以查看它是否是該網站的有效部分。如果是的話,它應該調用parseUrl()並打開該網站的該部分。到現在爲止還挺好。問題是如何將默認設置爲view =#2,如果循環沒有找到有效的視圖編號?

這裏是我的代碼:

private function initBrowserManager(): void { 

    browserManager = BrowserManager.getInstance(); 
    browserManager.addEventListener(BrowserChangeEvent.BROWSER_URL_CHANGE, parseUrl); 
     browserManager.init("","My Website"); 

    if(browserManager.fragment != null){ 

     for (var j:uint = 0; j < ComboBoxDP.length; j++){ 
      if(browserManager.fragment == "view="+ComboBoxDP[j].series){ 
          parseUrl(); 
          break; 
      } 


     } 

    } 


} 

我試圖加入這一行:else{browserManager.setFragment("view="+ 2); parseUrl();}到處我能想到的,但至今沒有運氣。我知道答案會非常簡單。有什麼建議麼?

謝謝。

-Laxmidi

回答

0

我假設了一些代碼的意圖,但我會使用一個布爾值:

var initialFragmentValid:Boolean = false; 
if(browserManager.fragment != null){ 
    for (var j:uint = 0; j < ComboBoxDP.length; j++){ 
     if(browserManager.fragment == "view="+ComboBoxDP[j].series){ 
      initialFragmentValid = true; 
      break; 
     } 
    } 
} 

if (!initialFragmentValid) { 
    // set the default 
    browserManager.setFragment("view=2"); 
} 

// always parse initially because we'll have a fragment regardless 
parseUrl(); 
+0

嗨賈斯汀N,感謝這麼多的幫助。我直到今天才嘗試這種解決方案。它的工作。真棒。 – Laxmidi 2011-03-08 18:04:16