2011-01-25 16 views
0

私のFlex 3サイトでディープリンクに問題があります。人々がサイトのさまざまな部分にリンクできるようにしたい。私はまた、ブラウザバーにURLを入力して、私のサイトの特定の部分に移動できるようにしたい。また、デフォルトで#view = 2を開く必要があります。フレックス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