0

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();}私が考えることができるところならどこでも、しかし今のところ運がありません. 答えは本当に簡単です。助言がありますか?

ありがとうございました。

-ラクシュミディ

4

1 に答える 1

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();
于 2011-01-28T22:13:06.263 に答える