2008/07/08

ディープリンクでちょっと失敗

とあるプロジェクトでFlex3で追加されたディープリンクを使ってるんだけど、そこでちょっと失敗しました。

ちなみにディープリンクの解説はこちら。

ディープリンクについて
http://livedocs.adobe.com/flex/3_jp/html/help.html?content=deep_linking_2.html

ブラウザのアドレスバーからコピーすれば問題ないんだけど、「これを使ってね」というようにプログラム側でディープリンクのURLを作っている部分で問題がありました。

ちなみにこんな感じで作ってました。

var url:String = BrowserManager.getInstance().base + "#" + URLUtil.objectToString(fragment, "&");

しかし、このコードでは
http://hoge.air-life.net/flexapp/##id=1000

というように、ある条件のときに#が一つ余計についてしまうことがあったのです。

そのある条件っていうのはこちら。URLの最後に#を付けてアクセスした場合。
http://hoge.air-life.net/flexapp/#

IBrowserManagerのプロパティbaseを見ると↓こう説明されていて#は入らないと思ったのにな・・・。
http://livedocs.adobe.com/flex/3_jp/langref/mx/managers/IBrowserManager.html#base
ブラウザのアドレスバーに表示されている現在の URL の「#」より前の部分。

んー、何か間違ったかな。

0 件のコメント: