この記事では、例を通して js のハッシュと ico の関係を分析します。皆さんの参考に共有してください。詳細は以下の通りです。
最近のテストにより、一部のページでアイコンが表示されないというバグが判明したため、この問題の原因を調査しました。
まず、ページ内のリンクに favicon.ico が導入されていることを確認してください。確認したところ、js内のlocation.hashがicoが表示されない原因になっていることが分かりました。原因はicoが読み込まれていない状態でlocation.hashが設定されていてicoが表示されないためです。
location.hash は、http://h.liepin.com/#job-manage の「#job-manage」など、URL の位置決めのためにプロジェクトでよく使用されます。
解決策は次のとおりです (現在のプロジェクトを例として、具体的な状況を詳細に分析します):
プロジェクトポイント:
1. メニューをクリックして ajax リクエストを送信すると、ページのコンテンツが送信されます。
2. ページに入るときに表示されるコンテンツは、特定のメニューのデフォルトのクリック イベントです。3. location.hash の設定は、特定のメニューのクリックイベントを通じて行われます。
問題が発生しました。ページに入ると、メニューのクリックイベントが実行されるため、location.hash が設定されます。
これを行うには、最初にページにアクセスしたときに location.hash が設定されないよう変数を設定します。
$(function(){ $('.menu a').click(function(event,hashBoolean){ var that = $(this); $.ajax({ url:'', type:'GET', data:{}, cache:false, dataType:'json', success:function(data){ if(data.flag == 1){ if(!hashBoolean) location.hash = ['id',that.attr('data-id')].join('='); } } }); }); $('.menu a').eq(0).trigger('click',[true]); });