我的Flex 3网站上存在深层链接问题。我希望人们能够链接到网站的不同部分。我还希望能够在浏览器栏中输入一个URL并将其带到我网站的特定部分。另外,我需要默认打开#view = 2。
我在设置默认#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 :(得分: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();