1

私はjquery.addressを使用しています。これは、ajaxの重いWebサイトを持っているときにブラウザの履歴状態を行うためのプラグインです。ただし、リンクが $.address.change() 関数をトリガーする特定の状況では、これをブロックする必要があります。

たとえば、1 つの要素が現在のページであるナビゲーションがある場合、現在のページをリロードするのではなく、変更イベントの発生をブロックすることをお勧めします。

$.address.change() 関数ではもちろん、これが現在のページかどうかを確認して戻ることができますが、ブラウザのアドレスバーのアドレスが変更されていることがわかります。

これは、ページをリロードするよりもさらに間違っています。現在のページが間違った URL でユーザーに表示されるからです。

たとえば、リンクにクラス「current」がある場合など、jquery.addressがURLを変更するのをブロックする方法を知っている人はいますか?

宜しくお願いします サンダー・ハウテキエ

4

1 に答える 1

1

m_page状態追跡変数などと一緒にリンクのクリック ハンドラーを使用しm_currentFoo、アドレスを変更する前に、リンクが現在の状態に対応しているかどうかを確認する if ステートメントを配置します。

API ページの最初のコード サンプルを次に示します。

$.address.change(function(event) {
    // do something depending on the event.value property, e.g.
    // $('#content').load(event.value + '.xml');
});
$('a').click(function() {
    $.address.value($(this).attr('href'));
});

そして、ここにいくつかの変更があります:

//This is called when the address is changed due to navigation.
$.address.change(function(event) {
    // do something depending on the event.value property, e.g.
    // $('#content').load(event.value + '.xml');
});

//This is your click handler
$('a').click(function() {
    //Do any logic for choosing what happens with the address here.
    if(moon = newMoon) {
        $.address.value($(this).attr('href'));
    }
});
于 2011-07-12T08:26:38.170 に答える