0

HTML5 jQuery バンドルのHistory.jsプラグインを使用しています。正常に動作していますが、次のようなリンクを使用できる必要があります (History.js がなくても正常に動作します)

http://website/url#popup=/url/some/more/params/

しばらくの間、使用しようとすると、ハッシュ ページがハッシュなしでリロードされます。History.js プラグインのみを使用した環境でこれをテストしました (History.js の問題であることを確認するため)。

http://website/popup=/url/some/more/params/

しかし、「/」記号なしでハッシュを試すと、すべて問題なく、location.hash は変更されず、ページのリロードは行われません。

http://website/#popup=url

問題は、#popup パラメータでネイティブ URL を使用したいということです。扱いやすく、このように表示されるリンクはユーザーにとって明確であり、ポップアップが開かれた後、誰もがリンクを共有できます。

そのような location.hash の変更とリダイレクトを無効にすることは可能ですか? 特別なデリメア付きのリンクを使用することは良い考えだとは本当に思いません:

http://website/#popup=url:param:values

PS私はencodeURIComponent()をポップアップURLに適用してからlocation.hashに追加しようとしました。次のURLもハッシュを削除してリダイレクトします:

http://website/#popup%3D%2Ftest%2Furl
4

1 に答える 1

1

URL が無効です。スラッシュがハッシュの後に来る場合、スラッシュは %2F である必要があります。

さらにアドレスバーに入力すると

http://stackoverflow.com/questions/13953766/history-js-rewrites-location-hash-value#popup=eerste/tweede/derde

#popup=eerste/tweede/derde正しい location.hash に作成されます。

History.js の作成者にバグ レポートを提出する必要があるようです。

于 2012-12-19T13:49:12.093 に答える