ホームページ >ウェブフロントエンド >jsチュートリアル >jQueryの例でハッシュURLを使用します
<span>//using window.location.hash </span>$<span>.fn.urlHash = function() </span><span>{ </span> <span>return window.location.hash.replace('#',''); </span><span>}; </span>$<span>.urlHash();</span>重要:location.hashはIE(IE9を含む)にとって安全ではありません。また、ページにIFRAMEが含まれている場合、IFrame内で手動で更新した後、コンテンツは古い場所を取得します。ハッシュ値(最初のページのロードの場合)は、手動検索値がlocation.hashとは異なります。
<span>//IE Proof - URL Hash Grab - returns complete hash value </span>$<span>.fn.urlHash = function() </span><span>{ </span> <span>return document.URL.substr(document.URL.indexOf('#')+1); </span><span>}; </span>$<span>.urlHash();</span>したがって、Dayofeek Hashタグ値を抽出する例として、次のように行うでしょう。
<span>//in context - extract dayofweek hash </span><span>//eg url#dayofweek1 would return 1 </span><span>if (document.URL.indexOf('#dayofweek')) </span><span>{ </span> week <span>= parseInt(document.URL.substr(document.URL.indexOf('#')+1).replace('dayofweek',''))-1; </span> $resParent<span>.eq(week).showResources(); </span><span>}</span>
<span>var match = location.hash.match(<span>/<span>^#?(.*)$</span>/</span>)[1]; </span><span>if (match) </span><span>{ </span> <span>//do stuff... </span><span>}</span>
<span>var hash = location.hash.match(<span>/#<span>(w+)</span>/</span>)[1];</span>問題:ハッシュに非ラチンまたは非アルファン次元の特性がある場合、誤った結果を返します。たとえば、ハッシュ#foo@o#bar $%huh hello、「foo」だけが返されます。 .match()がnullを返すため、location.hashが空のときにtypeRrorを投げます
<span>var hash = location.hash.split('#')[1];</span>同じテストハッシュを使用すると、少なくとも「Foo@O」の部分を取得します。つまり、ハッシュにポンドサインが含まれている場合にのみ失敗します。ハッシュがない場合、空の文字列の代わりに未定義に戻りますが、エラーが発生しません。
jQueryは、ハッシュURLを操作するためのいくつかの方法を提供します。 「場所」オブジェクトの「ハッシュ」プロパティを使用して、URLのハッシュ部分を取得または設定できます。たとえば、ハッシュを「section1」に設定するには、location.hash = 'section1';を使用します。現在のハッシュを取得するには、Var Hash = location.hash;。ハッシュを変更することにより、ページを更新せずに異なるコンテンツをロードできます。これは、スムーズなユーザーエクスペリエンスを作成するためにシングルページアプリケーションでよく使用されます。変更。このイベントを使用して、ハッシュが変更されるたびにコードを実行できます。たとえば、$(window).on( 'hashchange'、function(){ / *ここにコード * /});。ハッシュURLは非常に便利ですが、いくつかの欠点があります。 1つの主な欠点は、検索エンジンがハッシュに関連するコンテンツにインデックスを付けない可能性があるため、検索エンジン最適化(SEO)に問題を引き起こす可能性があることです。さらに、ハッシュURLは、個別のページビューとして常に追跡されるとは限らないため、分析に問題を引き起こす可能性があります。アンカータグを作成して、ユーザーがページの特定のセクションに直接ナビゲートできる「ジャンプリンク」を作成します。 URLのハッシュは、アンカータグの「ID」属性に対応しています。 「場所」オブジェクトの「ハッシュ」プロパティを空の文字列に設定します。たとえば、location.hash = '';。
以上がjQueryの例でハッシュURLを使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。