2011-01-25 12 views
0

Hyが、:jQueryのURLアクション

<a href=home>Home</a> 
- <a href=home/sub1>Home Sub 1</a> 
- <a href=home/sub2>Home Sub 2</a> 
- <a href=home/sub3>Home Sub 3</a> 

<a href=garden>Garden</a> 
- <a href=garden/sub1>Garden Sub 1</a> 
- <a href=garden/sub2>Garden Sub 2</a> 
- <a href=garden/sub3>Garden Sub 3</a> 

は、今私は、リンクURLを設定:私は "ホーム" 私のURLをクリックするのであれば

$.address.init(function(event) { 

$('a').address(function() {return $(this).attr('href').replace(location.pathname, '');});}).change(function(event) { 

    var text = (event.value == '') ? 'Home' : 
    event.pathNames[0].substr(0, 1).toUpperCase() + 
    event.pathNames[0].substr(1); 
    $('a').each(function() { 
    $(this).toggleClass('selected', $(this).text() == text); 
    }); 
}) 

を - > www.web.com/#/homeと自宅のサブ1 - > www.web.com/#/home/sub1。

  1. 不要な「/#/」を置き換える方法は?
  2. 実際のURLをどのように読み取ることができますか?例:www.web.com/garden/sub1と一致するかどうか確認してください。 私はこれを使用したいので、人々が特定のリンクで私のウェブサイトに来る場合、実際のナビゲーションポイントを開いておく必要があります。

Thxを

答えて

0

あなたがプロパティwindow.location.href を使用して JavaScriptでURLを操作することができますが、 これは、ページのリロードをトリガーします。 幸いにも、 のwindow.location.hashプロパティを使用できます。 ハッシュのプロパティは、フラグ の識別子に使用されます。これは、 のURLのコンポーネントで、 ハッシュ文字(#)の後に付いています(オプション)。ハッシュ文字の後に が来る文字列はサーバーに送信された ではありません。したがって、 ブラウザは、 の状態をクライアントスクリプトで復元し、 は適切なビューを取得する責任があります。彼らは通常のリンク、 ようですが、単一のページ内にあるので は、何ページ リロードが発生していない、とあなたは 訪問したURLのリストにURLを追加し、標準 リンクをクリックしたかのようにブラウザが を振る舞います。これにより、 の履歴のナビゲーション、ブックマーク、 の他者との共有が可能になります。

出典:http://blogs.southworks.net/jdominguez/2010/02/the-single-page-interface-pattern/

関連する問題