8

2 つの個別の html ページで構成される angularjs (v 1.2.19) アプリケーションがあります (または、実際にはこれらは 1 つのフォルダーにある 2 つの個別の angularjs アプリです)。

  • index.html
  • edit.html

IE 8 と 9 でよく知られた互換性の問題がいくつかあります (どちらも html5 履歴 API をサポートしていません)。私の設定には以下が含まれます:$locationProvider.html5Mode(true).hashPrefix('!');

アプリケーションにルーティングはありません-index.htmlとedit.htmlは、個別のangularjs初期化などを持つ個別のangularjsアプリと見なすことができます.

問題は次のようになります: リンクを開くたびに:http://server/appまたはhttp://server/app/index.htmlすべて正常に動作します。

リンクを開くたびに:http://server/app/edit.htmlng-clickから、またはブラウザで直接、ページは自動的にリダイレクトされますhttp://server/#!app/edit.html

「ハッシュバン」リダイレクトを無効にするにはどうすればよいですか? Edit.html は index.html の一部ではないため、index.html のリダイレクトや「ハッシュ」ルーティングなしで直接ロードする必要があります。

以下のコードを試しましたが、リダイレクトの無限ループにつながります...

<!--[if lt IE 10]>
    <script>   
        window.location = window.location.href.replace( /#.*/, "");
    </script>
<![endif]-->

どんな助けでも感謝します。

4

1 に答える 1

-1

html5mode を無効にする $locationProvider.html5Mode(false).hashPrefix('!'); か、この文字列を完全に削除してください。

于 2015-01-20T21:40:13.443 に答える