Flex 3: простой вопрос о глубоких связях - PullRequest
0 голосов
/ 25 января 2011

У меня проблема с глубокими ссылками на моем сайте 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

1 Ответ

0 голосов
/ 29 января 2011

Я предполагаю некоторые намерения кода, но я бы использовал логическое значение:

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