16

ajax とのディープ リンクを処理するために jQuery アドレス プラグインを使用する方法を理解しようとしています。

しかし、ドキュメントは非常に貧弱で、何が起こっているのかを説明する適切なチュートリアルが見つかりません。

すべてのプラグインで、良い例を含む良いドキュメントが重要だと思います。

誰かが説明したり、説明に役立つリンクを提供したりできますか?

$.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'));  
});  

つまり、何をし$.address.valueますか?「現在のディープリンク値を提供します」と表示されます。それはどういう意味ですか?そして、それはそれで何をしますか?

4

4 に答える 4

14

簡単な説明: AJAX を使用する際の最大の注意点は、URL が変更されないため、[戻る] ボタンが機能せず、リンクがクロールされないことです。これを回避するには、URL でページ セクション アンカー (# 記号) を使用します。ハッシュ記号の後のデータに基づいて、AJAX を使用したり、クロール可能なページパーツをロードしたりできます。

これに関する唯一の問題は、ほとんどのブラウザには URL 変更イベントがなく、それに基づいて AJAX コンテンツをロードできるため、プラグインが実際に行っていることは、時々 URL を監視し、変更された場合はトリガーすることです。 after-hash-sign-parameters に基づくイベント。したがって、基本的にここで行うことは

    $('a').click(function() {  
    **//change the after-hash-sign-params to the value of the clicked link**
        $.address.value($(this).attr('href'));

    });
    $.address.change(function(event) { 
 **//define an event handler based on the params...**
         if (event.value = 'sortbyname')
            sortstuffbyname()
else if (event.value ='sortbysomethingelse')
         sortstuffbysomethingelse();
        // do something depending on the event.value property, e.g.  
        // $('#content').load(event.value + '.xml');  
    });  

他のプラグインを試したことはありませんが、動作原理はおそらく同じです。

于 2010-08-17T14:26:28.363 に答える
8

プラグインには適度なドキュメントがあるようですが、同じようなことを行うもう少し詳細なものを探している場合は、jQuery BBQ をチェックしてください: http://benalman.com/projects/jquery-bbq-プラグイン/

$.param の実装は jQuery 1.4 に組み込まれ、その deparam の実装は現在、その新しい形式を読み取る唯一のものです。また、ドキュメントは素晴らしいです。

于 2009-12-23T23:56:34.497 に答える
2

jQuery Address の使用方法を理解するのに役立つと思われるこのオンライン チュートリアルを見つけました。そこにも提供されているコード例。一見の価値あり。

http://www.thetutorialblog.com/jquery/deep-linking-with-jquery/

于 2012-07-06T02:47:24.787 に答える