0

私はこの機能を実現しようとしていますが、少し不確かで、アプローチする方法がわかりません。「masterDiv」という div を持つマスター ページがあります。「masterDiv」は load() 呼び出しを行い、コンテンツ div から「details.html」と呼ばれる外部 HTML ページのコンテンツをロードします。これが私がやっている方法です:

  $('#masterDiv').load('details.html #content');

コンテンツは期待どおりにロードされ、URL アドレスは「http://www.xyz.com#details」として表示されます。

これはすべてうまく機能していますが、JavaScript を有効にしていない可能性のあるユーザーのことを考えました。「マスターページ」に「details.html」ページからコンテンツをロードさせる代わりに、これらのユーザーを「details.html」ページに直接誘導するだけだと思います。ここに問題があります。たとえば、ユーザーにこのリンクを送信するとします。

    http://wwww.xyz.com#details

また、そのユーザーのブラウザーで Javascript が有効になっていない場合、明らかに JQuery を呼び出すことができないため、load() 呼び出しは行われません。ユーザーを「details.html」ページに直接誘導するにはどうすればよいですか?

どんな洞察も素晴らしいでしょう

ありがとうございました。

4

2 に答える 2

2

リンクはおそらく次のようになります。

<a id="myLink" href="#details">Link that the user clicks</a>

ユーザーがリンクをクリックすると、jQuery ロードが呼び出されます。あれは正しいですか?

その場合は、代わりに次のようなリンクを使用できます。

<a id="myLink" href="http://wwww.xyz.com/details.html">Link that the user clicks</a>

そうすれば、ページが読み込まれると、リンクはすべてのユーザーに対して機能します (javascript が無効になっている場合でも)。次に、ページが最初にロードされたとき:

$(document).ready(function() {
    $('#myLink').attr('href', '#details');
});

リンクを以前の状態に設定します。そうすれば、Javascript が有効になっているユーザーのみがロード バージョンを使用します。他のものは単に details.html にリダイレクトされます

質問で正しく理解していないことがある場合は、お知らせください。

于 2012-08-16T04:41:41.923 に答える
0

ユーザーを「details.html」ページに直接誘導するにはどうすればよいですか?

リンクの href 属性を「details.html」にする。すべてのリンクがデフォルトで機能する方法。

<a href="details.html">Details</a>

サイトのすべてのリンクは、この方法で作成する必要があります。これが、インターネットが機能するように設計された方法であり、最適に機能する方法です。実際に必要な場合にのみ JavaScript を使用して機能を追加する必要があります。ページ間のリンクなどの基本的なことを JavaScript に依存するべきではありません。

于 2012-08-16T04:39:36.863 に答える