私はAngularJSを使用していて、アドレスバーに与えられた#hash-fragment
を処理したいと思います。しかし、 - そしてこれは私がパスをエンコードするためにハッシュフラグメントを使用していないますキー - です。しかし、それはAngularJSがそれをそのように解釈することを主張しているようです。例えばAngularJSからURLハッシュフラグメントの制御を取り戻すことはできますか?
、html5Mode
が無効になっている:
- 与えURL:
http://my.domain.com#my-hash
- は
http://my.domain.com/#/my-hash
になっている、と $location.hash()
は空になります。
そしてhtml5Mode
が有効になっている場合:
- 与えURL:
http://my.domain.com#my-hash
- が
http://my.domain.com/my-hash
になっている、と $location.hash()
はまだ空になります。
AngularJSは考えている必要があります:「ああ、あなたはhtml5を持っています。指定されたURLについて
- :URLは二重のハッシュを持っているとき、どのように配慮し...
$location.hash()
から何かを得るための唯一の方法はあるhttp://my.domain.com##my-hash
$location.hash()
は"my-hash"
に最終的に等しく、$locationProvider.html5Mode(true)
のハッシュの1つがURLから削除された場合。
しかし、私は本当に未処理のままにするための簡単な単一のハッシュ文字を必要としています。これは可能ですか?
ユースケースとは?あなたはハッシュではなく 'search'を使うことを考えましたか? – charlietfl
これは、ハッシュフラグメントの元の使用例です。現在のドキュメントの特定の部分に注意を集中させるために使用しています。 'search'はあまりにも冗長で、別の目的のために使われます。 – mhelvens
私は#のコントロールを取り戻すために任意の簡単な方法があるとは思わないが、あなたは文書の一部に集中する選択肢を持っています、http://www.benlesh.com/2013/02/angular-js-scrolling-要素ごとid.html、http://stackoverflow.com/questions/14712223/how-to-handle-anchor-hash-linking-in-angularjs、http://docs.angularjs.org/api/ ng。$ anchorScroll – SoluableNonagon