2

コードの例:

ページ ナビゲーションなし:

<body>
   <nav>
      // Navigation links to the parts of the site.
      // Clicking a link calls a javascript function to display the relevant <div>
   </nav>
   <section id="page1">
      // Page 1 content
   </section>
   <section id="page2">
      // Page 2 content
   </section>
</body>

ページ ナビゲーション:

// Page1.php:
<body>
   <nav>
      // Navigation links to parts of the site.
      // Act as normal <a> tags, redirecting the browser to the new page
   </nav>
   <section>
      // Page1 content
   </section>
</body>

// Page2.php:
<body>
   <nav>
      // Navigation links to parts of the site.
      // Act as normal <a> tags, redirecting the browser to the new page
   </nav>
   <section>
      // Page2 content
   </section>
</body>

リンク ナビゲーションの利点:

  • ブラウザはサイト全体を一度に読み込む必要はありません

  • サイトの使用に JavaScript は必要ありません

  • 簡単なナビゲーションのための直接 URL を提供します

  • やることは標準的なようです

JavaScript ナビゲーションの長所:

  • サーバー側のスクリプトが多いサイト (私のように) の場合、ページ要求を最小限に抑えます

  • <nav>異なる場所 (要素など)に同じコードを配置する必要はありません。PHP で関数を作成するecho_nav_html()ことは、IDE 環境でのコーディングが面倒になるため、良い解決策ではありません。

  • 初期ロード後、新しいリクエストがほとんどサーバーに送信されないため、サイトは超高速です

ああ賢明なインターネット、これについて何か考えはありますか?

それとも、javascript ナビゲーション用にリストされている長所を提供する、より洗練されたソリューションでしょうか?

4

2 に答える 2

2

最善の解決策は、両方を実行することです。

アンカーのHREFに有効なリンクを設定しますが、divをロードしてHREFへの進行を無効にするonClickアクションを含めます。

グレースフルデグラデーションプログレッシブエンハンスメントについてお読みください。

JavaScript以外のコードを提供する理由はたくさんあります。すべてのブラウザがJavaScriptをサポートしているわけではありません。多くの企業ネットワークは、予期しない動作をする可能性のある古いバージョンのIEを使用しているか、JSを完全に無効にする構成を強制する可能性があります。

あなたはあなたのサイトを誰もが利用できるようにしたいが、それをサポートする技術を持っているユーザーに可能な限り最高の体験を提供したい。

于 2013-02-16T19:50:09.607 に答える
0

サーバー側のコードを大量に使用している場合(動的なコンテンツの生成/入力を意味すると想定)、最初にサイトでアクセスできる可能性のあるすべてのコンテンツをロードすることは想像できないため、おそらく他のページへのリンクを使用します特に、すべてのユーザーがサイトのセクションにアクセスするわけではない場合、ロードは実際のリソース効率に優れています。

JavaScriptは引き続き使用できますが、実際に要求された場合にのみコンテンツを生成します。それがAJAX呼び出し(つまりURLがそこで呼び出される)によるものか、新しいページのロードによるものか。実行時にすべてをロードするのは私にはちょっと無駄に思えます...それは私だけです。

于 2013-02-16T19:38:58.460 に答える