1

私は現在フレックスアプリケーションを構築しており、ディープリンクでhttp://site.com/#/account/settingsなどの優れたURLを生成できるようにしたいと考えています。

swfを埋め込んでディープリンクを提供するためにswfaddress2.4とswfobject2.2を見てきました。これまでのところ、すべてがFirefoxとChromeで機能します。ただし、Internet Explorer 9では、戻るボタンと履歴機能が機能しないため、かなりイライラします。

興味深いことに、ここhttp://www.asual.com/swfaddress/samples/flex/のFlexサンプルファイルはIE9で完全に機能します。さらに詳しく調べてみると、彼らはac_OETags.jsファイルを使用してswfを埋め込んでいるようです。ドキュメントとflexによって生成されたindex.htmlファイルを見ると、swfファイルを埋め込むための好ましい方法として最新バージョンのswfobjectを使用しているようです。

そうは言っても、swfobjectは1年以上更新されていません。また、作者がそれを更新するつもりかどうかもわかりません。一方、私はadobeのhistory.jsがディープリンクで機能する方法が好きではありません。http://site.com/#view=1のようなURLは、私の意見では非常に醜いように見えます。

上記に照らして、flex 4.5プロジェクトにswfファイルを埋め込み、ディープリンクするためにどのライブラリをお勧めしますか?

4

2 に答える 2

1

これらの2つは最高であり、両方を使用することをお勧めします。そうは言っても、javascript / flexをデバッグして、これがIE9で機能しない理由を確認し、他の開発者がその恩恵を受けることができるように、両方のオープンソースプロジェクトのコードを修正しようと思います。

于 2011-08-24T02:40:48.543 に答える
0

これが発生している理由は、IE9がリリースされた後、Adobeがhistory.jsを更新しなかったためです。誤ってトリガーされているIE7のバグを処理するためのコードがそこにあります。

history.jsを修正するには、次のコードを挿入します。

22行目の後に挿入:

ie9: false,

72行目(71行目)の後:

else if (browser.version == 9)
{
    browser.ie = false;
    browser.ie9 = true;
}

それはそれを修正する必要があります。

于 2012-08-20T18:16:46.080 に答える