3

ajaxify-html5.jsを既存のWebページに実装しました。jQuery、ScrollTo、History.jsを使用します。素晴らしいもの、素晴らしい作品。のようなすべてのリンク

<a href="category?id=5">Category 5</a>

必要に応じて、コンテンツウィンドウで開きます。全体は、完璧から離れた1つの問題です。次のような断片化識別子を使用するリンクをクリックすると、次のようになります。

<a href="category?id=5#pictures">Category 5 - directly to pics</a>

... URLはアドレスバー内で適切に変更されますが、コンテンツには何も起こりません。category?id=5もロードされません。

私が見る限り、これは(ajaxify-html5.jsから)解雇されます:

History.pushState(null,title,url);     // url = "category?id=5#pictures"

しかし、statechangeは(同じファイルから)しません:

$window.bind('statechange',function(){

すべてのURLをサニタイズ(#hashtagを削除)できれば、すべてが機能するだろうと思いました...もちろん、新しくロードされたページをどこに配置するかを除いて<a name="hashtag"></a>。残念ながら、サイトはこれらに大きく依存しています...

私の質問は、断片化識別子と一緒に両方のajaxifyを使用することもできますが、後者は最初の影響を受けませんか?

4

1 に答える 1

1

次のような内部hrefを使用してすべての<a>タグを保存できます。
var tags = jQuery("a[href*='#']");

afaxify-html5.jsが魔法をかけた後、を呼び出すことで元の動作を復元できますtags.unbind()

于 2013-02-05T19:20:51.583 に答える