2011-01-25 81 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