首頁  >  文章  >  web前端  >  js中hash和ico的關聯分析_javascript技巧

js中hash和ico的關聯分析_javascript技巧

WBOY
WBOY原創
2016-05-16 16:15:411006瀏覽

本文實例分析了js中hash和ico的一些關聯。分享給大家供大家參考。具體如下:

近期測試提出一個bug,說某幾個頁面中的ico不顯示,於是針對此問題排查原因。

首先,確保頁面中的link已引入favicon.ico。經查看,發現是js中的location.hash導致了ico不顯示。原因是在ico未載入完畢時設定了location.hash從而導致ico不顯示。

location.hash在專案中常用到,用於url定位,例如http://h.liepin.com/#job-manage中的「#job-manage」。

解決方法如下(以目前專案為例,具體情況具體分析):

專案重點:

1、頁面內容是透過點擊menu發送ajax請求過來的;

2、進入頁面的顯示內容是某個menu的預設點擊事件;

3、設定location.hash是透過某個menu的點擊事件。

這樣就存在問題了,進入頁面的時候就執行了menu的點擊事件,於是就設定了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]);
});

希望本文所述對大家的javascript程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn